summaryrefslogtreecommitdiff
path: root/diff.h
blob: c146d8acf8601f81cb7b7baeaffcf85081e1eb1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * 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-helper */
 
struct diff_spec {
	unsigned char blob_sha1[20];
	unsigned short mode;	 /* file mode */
	unsigned sha1_valid : 1; /* if true, use blob_sha1 and trust mode;
				  * however with a NULL SHA1, read them
				  * from the file system.
				  * if false, use the 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 */