diff options
author | Daniel Barkalow <barkalow@iabervon.org> | 2008-02-07 11:40:05 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-09 23:16:51 -0800 |
commit | e1b3a2cad79a8138d18593c6eb3c46906ad2ee42 (patch) | |
tree | 67706beab8903194e73acf4486665d59c15b7099 /git.c | |
parent | 4e7c4571b8b31d6a09de2826361540caa76d3526 (diff) | |
download | git-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.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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 }, |