Make git-fsck-cache error printouts a bit more informative.
[git/jrn.git] / diff.h
blob8f269b27721c3025a24c89bf16f32a6490397180
1 /*
2 * Copyright (C) 2005 Junio C Hamano
3 */
4 #ifndef DIFF_H
5 #define DIFF_H
7 extern void diff_addremove(int addremove,
8 unsigned mode,
9 const unsigned char *sha1,
10 const char *base,
11 const char *path);
13 extern void diff_change(unsigned mode1, unsigned mode2,
14 const unsigned char *sha1,
15 const unsigned char *sha2,
16 const char *base, const char *path);
18 extern void diff_unmerge(const char *path);
20 /* These are for diff-tree-helper */
22 struct 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.
34 unsigned file_valid : 1; /* if false the file does not even exist */
37 extern void run_external_diff(const char *name,
38 struct diff_spec *, struct diff_spec *);
40 #endif /* DIFF_H */