Code

merge-file: add option to select union merge favor
authorBert Wesarg <bert.wesarg@googlemail.com>
Mon, 1 Mar 2010 21:46:28 +0000 (22:46 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Mar 2010 05:16:45 +0000 (21:16 -0800)
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-merge-file.txt
builtin-merge-file.c

index a5b9c1f6c8220549b484b3753b48af7d9e2e6901..f334d694e0160df91d197293e5b76cc0bfaac187 100644 (file)
@@ -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
index fec15cc1ff3c44f056273e1a5ddfdb79e1b1e441..69cc683332a04ddc6959fcef3d2853ccfb2860b8 100644 (file)
@@ -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),