diff.hon commit [PATCH] Reworked external diff interface. (77eb272)
   1/*
   2 * Copyright (C) 2005 Junio C Hamano
   3 */
   4#ifndef DIFF_H
   5#define DIFF_H
   6
   7extern void diff_addremove(int addremove,
   8                           unsigned mode,
   9                           const unsigned char *sha1,
  10                           const char *base,
  11                           const char *path);
  12
  13extern void diff_change(unsigned mode1, unsigned mode2,
  14                             const unsigned char *sha1,
  15                             const unsigned char *sha2,
  16                             const char *base, const char *path);
  17
  18extern void diff_unmerge(const char *path);
  19
  20/* These are for diff-tree-helper */
  21
  22struct diff_spec {
  23        union {
  24                const char *name;       /* path on the filesystem */
  25                unsigned char sha1[20]; /* blob object ID */
  26        } u;
  27        unsigned short mode;     /* file mode */
  28        unsigned sha1_valid : 1; /* if true, use u.sha1 and trust mode.
  29                                  * (however with a NULL SHA1, read them
  30                                  * from the file!).
  31                                  * if false, use u.name and read mode from
  32                                  * the filesystem.
  33                                  */
  34        unsigned file_valid : 1; /* if false the file does not even exist */
  35};
  36
  37extern void run_external_diff(const char *name,
  38                              struct diff_spec *, struct diff_spec *);
  39
  40#endif /* DIFF_H */