Hello,
Dscho gave me a detailed review on builtin-merge, so I'm sending an
updated series.
It's based on 49646c5 in git.git, so hopefully it includes all the work
Junio did recently in 'pu'. (PARSE_OPT_ARGV0_IS_AN_OPTION removal, etc.)
Changes:
* "git-fmt-merge-msg: make it usable from other builtins"
- Small cleanup.
* "Build in merge"
- When a custom message was given for a merge, the result was not
identical to the one git-merge.sh had. I added a testcase for this
and fixed up builtin-merge to pass the test.
- Memleak fix in restore_state()
- Cleanup in finish_up_to_date() and squash_message()
- run_hook() now first checks if the executable bit is set and returns
immediately if not.
- Make merge_name() a bit more readable, like *(ptr+1) -> ptr[1]. Also
fixed a missing initialization in this function.
- split_merge_strategies(): while (1) -> for (;;)
- Simplified path_list_append_strategy() by removing unnecessary
parameters.
- cmd_merge(): Added more comments to make the code more readable,
fixed a memory leak, optimized the case when --no-commit is used.
- merge_one_remote(): Fixed a bug which for example caused a segfault
when building with -fno-inline.
- Fixed up color handling when showing the diff after a merge, as
noticed by Olivier Marin.
- Fixed up the "Updating foo..bar" message which was like "Updating
bar..bar", as pointed out by Olivier Marin.
* Dscho's two patches: These introduces strbuf_initf() which can be used
instead of strbuf_init() and strbuf_addf(). Modified builtin-merge.c
to use strbuf_initf() where possible.
* Extended t7601-merge-pull-config.sh to make sure git-merge picks up
the best strategy when no strategy can handle the merge without
conflicts.
The "interdiff" is available via git diff 49646c5..d1c62b2 in
git://repo.or.cz/git/vmiklos.git.
I'm sending the whole series to avoid complexity, but in fact I only
changed the following patches:
* "git-fmt-merge-msg: make it usable from other builtins"
* "Add new test case to ensure git-merge prepends the custom merge
message"
* "Build in merge"
Johannes Schindelin (2):
Add strbuf_vaddf(), use it in strbuf_addf(), and add strbuf_initf()
strbuf_vaddf(): support %*s, too
Junio C Hamano (2):
Introduce get_merge_bases_many()
Introduce reduce_heads()
Miklos Vajna (11):
Move split_cmdline() to alias.c
Move commit_list_count() to commit.c
Move parse-options's skip_prefix() to git-compat-util.h
Add new test to ensure git-merge handles pull.twohead and
pull.octopus
Move read_cache_unmerged() to read-cache.c
git-fmt-merge-msg: make it usable from other builtins
Introduce get_octopus_merge_bases() in commit.c
Add new test to ensure git-merge handles more than 25 refs.
Add new test case to ensure git-merge reduces octopus parents when
possible
Add new test case to ensure git-merge prepends the custom merge
message
Build in merge
.gitignore | 1 +
Makefile | 6 +-
alias.c | 54 ++
builtin-fmt-merge-msg.c | 155 ++--
builtin-merge-recursive.c | 8 -
builtin-merge.c | 1143 +++++++++++++++++++++++++
builtin-read-tree.c | 24 -
builtin-remote.c | 39 +-
builtin.h | 4 +
cache.h | 3 +
commit.c | 136 +++-
commit.h | 4 +
git-merge.sh => contrib/examples/git-merge.sh | 0
git-compat-util.h | 6 +
git.c | 54 +--
parse-options.c | 6 -
read-cache.c | 31 +
strbuf.c | 140 +++-
strbuf.h | 3 +
t/t0000-basic.sh | 8 +
t/t7601-merge-pull-config.sh | 129 +++
t/t7602-merge-octopus-many.sh | 52 ++
t/t7603-merge-reduce-heads.sh | 63 ++
t/t7604-merge-custom-message.sh | 37 +
test-strbuf.c | 17 +
25 files changed, 1917 insertions(+), 206 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
create mode 100755 t/t7602-merge-octopus-many.sh
create mode 100755 t/t7603-merge-reduce-heads.sh
create mode 100755 t/t7604-merge-custom-message.sh
create mode 100644 test-strbuf.c
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html| Artem Bityutskiy | [PATCH 10/44 take 2] [UBI] debug unit implementation |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
| Dave Young | Re: Linux v2.6.24-rc1 |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Linus Torvalds | Re: [GIT]: Networking |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
