Build-in merge-recursive
This makes write_tree_from_memory(), which writes the active cache as a tree and returns the struct tree for it, available to other code. It also makes available merge_trees(), which does the internal merge of two trees with a known base, and merge_recursive(), which does the recursive internal merge of two commits with a list of common ancestors. The first two of these will be used by checkout -m, and the third is presumably useful in general, although the implementation of checkout -m which entirely matches the behavior of the shell version does not use it (since it ignores the difference of ancestry between the old branch and the new branch). Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
This commit is contained in:

committed by
Junio C Hamano

parent
4e7c4571b8
commit
e1b3a2cad7
20
merge-recursive.h
Normal file
20
merge-recursive.h
Normal file
@ -0,0 +1,20 @@
|
||||
#ifndef MERGE_RECURSIVE_H
|
||||
#define MERGE_RECURSIVE_H
|
||||
|
||||
int merge_recursive(struct commit *h1,
|
||||
struct commit *h2,
|
||||
const char *branch1,
|
||||
const char *branch2,
|
||||
struct commit_list *ancestors,
|
||||
struct commit **result);
|
||||
|
||||
int merge_trees(struct tree *head,
|
||||
struct tree *merge,
|
||||
struct tree *common,
|
||||
const char *branch1,
|
||||
const char *branch2,
|
||||
struct tree **result);
|
||||
|
||||
struct tree *write_tree_from_memory(void);
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user