Merge branch 'jc/maint-1.6.0-blame-s'
[gitweb.git] / diffcore.h
index cc96c20734bf4184970f5381416637cf6e45ea13..5b634585e8970de81067b9807d8813c083b86b0a 100644 (file)
@@ -22,6 +22,8 @@
 
 #define MINIMUM_BREAK_SIZE     400 /* do not break a file smaller than this */
 
+struct userdiff_driver;
+
 struct diff_filespec {
        unsigned char sha1[20];
        char *path;
@@ -40,8 +42,10 @@ struct diff_filespec {
 #define DIFF_FILE_VALID(spec) (((spec)->mode) != 0)
        unsigned should_free : 1; /* data should be free()'ed */
        unsigned should_munmap : 1; /* data should be munmap()'ed */
-       unsigned checked_attr : 1;
-       unsigned is_binary : 1; /* data should be considered "binary" */
+
+       struct userdiff_driver *driver;
+       /* data should be considered "binary"; -1 means "don't know yet" */
+       int is_binary;
 };
 
 extern struct diff_filespec *alloc_filespec(const char *);
@@ -58,7 +62,7 @@ struct diff_filepair {
        struct diff_filespec *one;
        struct diff_filespec *two;
        unsigned short int score;
-       char status; /* M C R N D U (see Documentation/diff-format.txt) */
+       char status; /* M C R A D U etc. (see Documentation/diff-format.txt or DIFF_STATUS_* in diff.h) */
        unsigned broken_pair : 1;
        unsigned renamed_pair : 1;
        unsigned is_unmerged : 1;
@@ -92,7 +96,6 @@ extern struct diff_filepair *diff_queue(struct diff_queue_struct *,
                                        struct diff_filespec *);
 extern void diff_q(struct diff_queue_struct *, struct diff_filepair *);
 
-extern void diffcore_pathspec(const char **pathspec);
 extern void diffcore_break(int);
 extern void diffcore_rename(struct diff_options *);
 extern void diffcore_merge_broken(void);