From: Junio C Hamano Date: Tue, 18 Mar 2014 20:48:50 +0000 (-0700) Subject: Merge branch 'jk/diff-filespec-cleanup' X-Git-Tag: v2.0.0-rc0~101 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/9b347673a1efbef525ff8b39f33f0b59e829be3c?ds=inline;hp=-c Merge branch 'jk/diff-filespec-cleanup' Portability fix to a topic already in v1.9 * jk/diff-filespec-cleanup: diffcore.h: be explicit about the signedness of is_binary --- 9b347673a1efbef525ff8b39f33f0b59e829be3c diff --combined diffcore.h index 92788ee4de,7c6f3916e8..c876dac71a --- a/diffcore.h +++ b/diffcore.h @@@ -46,7 -46,7 +46,7 @@@ struct diff_filespec unsigned is_stdin : 1; unsigned has_more_entries : 1; /* only appear in combined diff */ /* data should be considered "binary"; -1 means "don't know yet" */ - int is_binary : 2; + signed int is_binary : 2; struct userdiff_driver *driver; }; @@@ -68,8 -68,6 +68,8 @@@ struct diff_filepair unsigned broken_pair : 1; unsigned renamed_pair : 1; unsigned is_unmerged : 1; + unsigned done_skip_stat_unmatch : 1; + unsigned skip_stat_unmatch_result : 1; }; #define DIFF_PAIR_UNMERGED(p) ((p)->is_unmerged) @@@ -111,20 -109,6 +111,20 @@@ extern void diffcore_merge_broken(void) extern void diffcore_pickaxe(struct diff_options *); extern void diffcore_order(const char *orderfile); +/* low-level interface to diffcore_order */ +struct obj_order { + void *obj; /* setup by caller */ + + /* setup/used by order_objects() */ + int orig_order; + int order; +}; + +typedef const char *(*obj_path_fn_t)(void *obj); + +void order_objects(const char *orderfile, obj_path_fn_t obj_path, + struct obj_order *objs, int nr); + #define DIFF_DEBUG 0 #if DIFF_DEBUG void diff_debug_filespec(struct diff_filespec *, int, const char *);