| /* |
| * Copyright (C) 2005 Junio C Hamano |
| */ |
| #ifndef DIFF_H |
| #define DIFF_H |
| |
| extern void diff_addremove(int addremove, |
| unsigned mode, |
| const unsigned char *sha1, |
| const char *base, |
| const char *path); |
| |
| extern void diff_change(unsigned mode1, unsigned mode2, |
| const unsigned char *sha1, |
| const unsigned char *sha2, |
| const char *base, const char *path); |
| |
| extern void diff_unmerge(const char *path); |
| |
| /* These are for diff-tree-helper */ |
| |
| struct diff_spec { |
| union { |
| const char *name; /* path on the filesystem */ |
| unsigned char sha1[20]; /* blob object ID */ |
| } u; |
| unsigned short mode; /* file mode */ |
| unsigned sha1_valid : 1; /* if true, use u.sha1 and trust mode. |
| * (however with a NULL SHA1, read them |
| * from the file!). |
| * if false, use u.name and read mode from |
| * the filesystem. |
| */ |
| unsigned file_valid : 1; /* if false the file does not even exist */ |
| }; |
| |
| extern void run_external_diff(const char *name, |
| struct diff_spec *, struct diff_spec *); |
| |
| #endif /* DIFF_H */ |