]> git.ipfire.org Git - thirdparty/git.git/blame - diff.h
Optimize diff-cache -p --cached
[thirdparty/git.git] / diff.h
CommitLineData
be3cfa85
JH
1/*
2 * Copyright (C) 2005 Junio C Hamano
3 */
86436c28
JH
4#ifndef DIFF_H
5#define DIFF_H
6
77eb2720
JH
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-tree-helper */
86436c28 21
be3cfa85 22struct diff_spec {
b46f0b6d 23 unsigned char blob_sha1[20];
be3cfa85 24 unsigned short mode; /* file mode */
b46f0b6d
JH
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
be3cfa85
JH
29 * the filesystem.
30 */
31 unsigned file_valid : 1; /* if false the file does not even exist */
32};
86436c28 33
be3cfa85
JH
34extern void run_external_diff(const char *name,
35 struct diff_spec *, struct diff_spec *);
86436c28
JH
36
37#endif /* DIFF_H */