summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert Wesarg <bert.wesarg@googlemail.com>2010-03-01 22:46:28 +0100
committerJunio C Hamano <gitster@pobox.com>2010-03-02 21:16:45 -0800
commit3a15048d833e2d6599091a9f7c14b0fa926c3bbf (patch)
treee86addd828c1c6486573adfda5fea9083681e391
parent11f3aa2305426d11945c72479d24a15d30768d50 (diff)
downloadgit-3a15048d833e2d6599091a9f7c14b0fa926c3bbf.tar.gz
merge-file: add option to select union merge favor
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/git-merge-file.txt13
-rw-r--r--builtin-merge-file.c2
2 files changed, 9 insertions, 6 deletions
diff --git a/Documentation/git-merge-file.txt b/Documentation/git-merge-file.txt
index a5b9c1f6c8..f334d694e0 100644
--- a/Documentation/git-merge-file.txt
+++ b/Documentation/git-merge-file.txt
@@ -10,7 +10,7 @@ SYNOPSIS
--------
[verse]
'git merge-file' [-L <current-name> [-L <base-name> [-L <other-name>]]]
- [--ours|--theirs] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
+ [--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
<current-file> <base-file> <other-file>
@@ -35,10 +35,10 @@ normally outputs a warning and brackets the conflict with lines containing
>>>>>>> B
If there are conflicts, the user should edit the result and delete one of
-the alternatives. When `--ours` or `--theirs` option is in effect, however,
-these conflicts are resolved favouring lines from `<current-file>` or
-lines from `<other-file>` respectively. The length of the conflict markers
-can be given with the `--marker-size` option.
+the alternatives. When `--ours`, `--theirs`, or `--union` option is in effect,
+however, these conflicts are resolved favouring lines from `<current-file>`,
+lines from `<other-file>`, or lines from both respectively. The length of the
+conflict markers can be given with the `--marker-size` option.
The exit value of this program is negative on error, and the number of
conflicts otherwise. If the merge was clean, the exit value is 0.
@@ -68,8 +68,9 @@ OPTIONS
--ours::
--theirs::
+--union::
Instead of leaving conflicts in the file, resolve conflicts
- favouring our (or their) side of the lines.
+ favouring our (or their or both) side of the lines.
EXAMPLES
diff --git a/builtin-merge-file.c b/builtin-merge-file.c
index fec15cc1ff..69cc683332 100644
--- a/builtin-merge-file.c
+++ b/builtin-merge-file.c
@@ -36,6 +36,8 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
XDL_MERGE_FAVOR_OURS),
OPT_SET_INT(0, "theirs", &xmp.favor, "for conflicts, use their version",
XDL_MERGE_FAVOR_THEIRS),
+ OPT_SET_INT(0, "union", &xmp.favor, "for conflicts, use a union version",
+ XDL_MERGE_FAVOR_UNION),
OPT_INTEGER(0, "marker-size", &xmp.marker_size,
"for conflicts, use this marker size"),
OPT__QUIET(&quiet),