[PATCH 00/10] Build in merge
From: Miklos Vajna <hidden>
Date: 2016-06-15 22:44:41
This series is a rewrite of git-merge in C.
I already sent a WIP version of this series, it already worked at that
time, but I had numerous internal TODOs in the code.
I also tried to use the internal API wherever it was possible to avoid
the expensive run_command() calls.
At the moment I am not aware of any bugs in ugly parts in the code, so I
would appreciate if I could get some comments (positive or negative) on
it.
And yes, I'm aware that it's already late for 1.5.6, I'm sending it out
so that I can work on issues pointed out by others in the meantime.
Thanks.
Miklos Vajna (10):
Move split_cmdline() to alias.c
Move commit_list_count() to commit.c
Move builtin-remote's skip_prefix() to git-compat-util.h
Add new test to ensure git-merge handles pull.twohead and
pull.octopus
parseopt: add a new PARSE_OPT_ARGV0_IS_AN_OPTION option
Move read_cache_unmerged() to read-cache.c
git-fmt-merge-msg: make it useable from other builtins
Introduce commit_list_append() in commit.c
Introduce get_octopus_merge_bases() in commit.c
Build in merge
Makefile | 2 +-
alias.c | 54 ++
builtin-fmt-merge-msg.c | 157 ++--
builtin-merge-recursive.c | 8 -
builtin-merge.c | 1147 +++++++++++++++++++++++++
builtin-read-tree.c | 24 -
builtin-remote.c | 6 -
builtin.h | 4 +
cache.h | 3 +
commit.c | 59 ++
commit.h | 3 +
git-merge.sh => contrib/examples/git-merge.sh | 0
git-compat-util.h | 6 +
git.c | 54 +--
parse-options.c | 19 +-
parse-options.h | 1 +
read-cache.c | 24 +
t/t7601-merge-pull-config.sh | 57 ++
18 files changed, 1460 insertions(+), 168 deletions(-)
create mode 100644 builtin-merge.c
rename git-merge.sh => contrib/examples/git-merge.sh (100%)
create mode 100755 t/t7601-merge-pull-config.sh