aboutsummaryrefslogtreecommitdiff
path: root/diff.h
blob: 24df9089cc024ec01f79102ceb429353f1707404 (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
/*
 * Copyright (C) 2005 Junio C Hamano
 */
#ifndef DIFF_H
#define DIFF_H

/* These two are for backward compatibility with show-diff;
 * new users should not use them.
 */
extern void show_differences(const struct cache_entry *ce, int reverse);
extern void show_diff_empty(const struct cache_entry *ce, int reverse);

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 */