mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
Merge branch 'en/merge-ort-impl'
The merge backend "done right" starts to emerge. * en/merge-ort-impl: merge-ort: free data structures in merge_finalize() merge-ort: add implementation of record_conflicted_index_entries() tree: enable cmp_cache_name_compare() to be used elsewhere merge-ort: add implementation of checkout() merge-ort: basic outline for merge_switch_to_result() merge-ort: step 3 of tree writing -- handling subdirectories as we go merge-ort: step 2 of tree writing -- function to create tree object merge-ort: step 1 of tree writing -- record basenames, modes, and oids merge-ort: have process_entries operate in a defined order merge-ort: add a preliminary simple process_entries() implementation merge-ort: avoid recursing into identical trees merge-ort: record stage and auxiliary info for every path merge-ort: compute a few more useful fields for collect_merge_info merge-ort: avoid repeating fill_tree_descriptor() on the same tree merge-ort: implement a very basic collect_merge_info() merge-ort: add an err() function similar to one from merge-recursive merge-ort: use histogram diff merge-ort: port merge_start() from merge-recursive merge-ort: add some high-level algorithm structure merge-ort: setup basic internal data structures
This commit is contained in:
commit
f9d29daba6
1248
merge-ort.c
1248
merge-ort.c
File diff suppressed because it is too large
Load diff
|
@ -7,7 +7,14 @@ struct commit;
|
|||
struct tree;
|
||||
|
||||
struct merge_result {
|
||||
/* Whether the merge is clean */
|
||||
/*
|
||||
* Whether the merge is clean; possible values:
|
||||
* 1: clean
|
||||
* 0: not clean (merge conflicts)
|
||||
* <0: operation aborted prematurely. (object database
|
||||
* unreadable, disk full, etc.) Worktree may be left in an
|
||||
* inconsistent state if operation failed near the end.
|
||||
*/
|
||||
int clean;
|
||||
|
||||
/*
|
||||
|
|
2
tree.c
2
tree.c
|
@ -144,7 +144,7 @@ int read_tree_recursive(struct repository *r,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int cmp_cache_name_compare(const void *a_, const void *b_)
|
||||
int cmp_cache_name_compare(const void *a_, const void *b_)
|
||||
{
|
||||
const struct cache_entry *ce1, *ce2;
|
||||
|
||||
|
|
2
tree.h
2
tree.h
|
@ -28,6 +28,8 @@ void free_tree_buffer(struct tree *tree);
|
|||
/* Parses and returns the tree in the given ent, chasing tags and commits. */
|
||||
struct tree *parse_tree_indirect(const struct object_id *oid);
|
||||
|
||||
int cmp_cache_name_compare(const void *a_, const void *b_);
|
||||
|
||||
#define READ_TREE_RECURSIVE 1
|
||||
typedef int (*read_tree_fn_t)(const struct object_id *, struct strbuf *, const char *, unsigned int, int, void *);
|
||||
|
||||
|
|
Loading…
Reference in a new issue