[PATCH] git-export complains about mising cat-file
[gitweb.git] / diff.h
diff --git a/diff.h b/diff.h
index 56ca373248ebb30ac5f832488aa3255a97a50618..8f269b27721c3025a24c89bf16f32a6490397180 100644 (file)
--- 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 */