aboutsummaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorDaniel Barkalow <barkalow@iabervon.org>2008-02-07 11:40:05 -0500
committerJunio C Hamano <gitster@pobox.com>2008-02-09 23:16:51 -0800
commite1b3a2cad79a8138d18593c6eb3c46906ad2ee42 (patch)
tree67706beab8903194e73acf4486665d59c15b7099 /git.c
parent4e7c4571b8b31d6a09de2826361540caa76d3526 (diff)
downloadgit-e1b3a2cad79a8138d18593c6eb3c46906ad2ee42.tar.gz
git-e1b3a2cad79a8138d18593c6eb3c46906ad2ee42.tar.xz
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>
Diffstat (limited to 'git.c')
-rw-r--r--git.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/git.c b/git.c
index 15fec8974..114ea75ee 100644
--- a/git.c
+++ b/git.c
@@ -330,6 +330,7 @@ static void handle_internal_command(int argc, const char **argv)
{ "merge-base", cmd_merge_base, RUN_SETUP },
{ "merge-file", cmd_merge_file },
{ "merge-ours", cmd_merge_ours, RUN_SETUP },
+ { "merge-recursive", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
{ "mv", cmd_mv, RUN_SETUP | NEED_WORK_TREE },
{ "name-rev", cmd_name_rev, RUN_SETUP },
{ "pack-objects", cmd_pack_objects, RUN_SETUP },