[PATCH 0/8] The return of -Xours, -Xtheirs, -Xsubtree=dir
From: Avery Pennarun <hidden>
Date: 2016-06-15 22:47:46
As discussed earlier today, this brings back Junio's earlier patch series
that introduced (and then used) a -X option for configuring merge
strategies. My favourite use of this is -Xsubtree=<dir>, which lets you
provide the actual subdir prefix when using the subtree merge strategy.
Avery Pennarun (8):
git-merge-file --ours, --theirs
builtin-merge.c: call exclude_cmds() correctly.
git-merge-recursive-{ours,theirs}
Teach git-merge to pass -X<option> to the backend strategy module
Teach git-pull to pass -X<option> to git-merge
Make "subtree" part more orthogonal to the rest of merge-recursive.
Extend merge-subtree tests to test -Xsubtree=dir.
Document that merge strategies can now take their own options
.gitignore | 2 +
Documentation/git-merge-file.txt | 12 +++++-
Documentation/merge-options.txt | 4 ++
Documentation/merge-strategies.txt | 29 ++++++++++++++-
builtin-checkout.c | 2 +-
builtin-merge-file.c | 5 ++-
builtin-merge-recursive.c | 24 ++++++++++---
builtin-merge.c | 44 +++++++++++++++++++++--
cache.h | 1 +
contrib/examples/git-merge.sh | 3 +-
git-compat-util.h | 1 +
git-pull.sh | 17 ++++++++-
git.c | 2 +
ll-merge.c | 20 +++++-----
ll-merge.h | 2 +-
match-trees.c | 69 +++++++++++++++++++++++++++++++++++-
merge-recursive.c | 35 +++++++++++++++---
merge-recursive.h | 7 +++-
strbuf.c | 9 +++++
t/t6029-merge-subtree.sh | 47 ++++++++++++++++++++++++-
t/t6034-merge-ours-theirs.sh | 64 +++++++++++++++++++++++++++++++++
xdiff/xdiff.h | 7 +++-
xdiff/xmerge.c | 11 +++++-
23 files changed, 377 insertions(+), 40 deletions(-)
create mode 100755 t/t6034-merge-ours-theirs.sh