Browse Source
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>maint
Daniel Barkalow
17 years ago
committed by
Junio C Hamano
5 changed files with 46 additions and 22 deletions
@ -0,0 +1,20 @@
@@ -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 |
Loading…
Reference in new issue