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-helper */
21
22struct diff_spec {
23 unsigned char blob_sha1[20];
24 unsigned short mode; /* file mode */
25 unsigned sha1_valid : 1; /* if true, use blob_sha1 and trust mode;
26 * however with a NULL SHA1, read them
27 * from the file system.
28 * if false, use the name and read mode from
29 * the filesystem.
30 */
31 unsigned file_valid : 1; /* if false the file does not even exist */
32};
33
34extern void run_external_diff(const char *name, const char *other,
35 struct diff_spec *, struct diff_spec *);
36
37#endif /* DIFF_H */