Merge branch 'ks/combine-diff'
Teach combine-diff to honour the path-output-order imposed by diffcore-order, and optimize how matching paths are found in the N-way diffs made with parents. * ks/combine-diff: tests: add checking that combine-diff emits only correct paths combine-diff: simplify intersect_paths() further combine-diff: combine_diff_path.len is not needed anymore combine-diff: optimize combine_diff_path sets intersection diff test: add tests for combine-diff with orderfile diffcore-order: export generic ordering interface
This commit is contained in:
14
diffcore.h
14
diffcore.h
@ -111,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 *);
|
||||
|
Reference in New Issue
Block a user