X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=inline;f=diff.h;h=8f269b27721c3025a24c89bf16f32a6490397180;hb=fa9e9c7bc4d6437537a78517f7f6909340e25ad9;hp=56ca373248ebb30ac5f832488aa3255a97a50618;hpb=86436c28289eedd2ee9b7f9c872a0ed039866a0f;p=git.git diff --git a/diff.h b/diff.h index 56ca37324..8f269b277 100644 --- a/diff.h +++ b/diff.h @@ -1,17 +1,40 @@ +/* + * Copyright (C) 2005 Junio C Hamano + */ #ifndef DIFF_H #define DIFF_H -extern void prepare_diff_cmd(void); +extern void diff_addremove(int addremove, + unsigned mode, + const unsigned char *sha1, + const char *base, + const char *path); -extern void show_differences(const char *name, /* filename on the filesystem */ - const char *label, /* diff label to use */ - void *old_contents, /* contents in core */ - unsigned long long old_size, /* size in core */ - int reverse /* 0: diff core file - 1: diff file core */); +extern void diff_change(unsigned mode1, unsigned mode2, + const unsigned char *sha1, + const unsigned char *sha2, + const char *base, const char *path); -extern void show_diff_empty(const unsigned char *sha1, - const char *name, - int reverse); +extern void diff_unmerge(const char *path); + +/* These are for diff-tree-helper */ + +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 */