diff options
author | Bert Wesarg <bert.wesarg@googlemail.com> | 2010-03-01 22:46:27 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-03-02 21:16:44 -0800 |
commit | 11f3aa2305426d11945c72479d24a15d30768d50 (patch) | |
tree | a387ab1883e3e0f007ab306217972dde4306f98f | |
parent | refactor merge flags into xmparam_t (diff) | |
download | tgif-11f3aa2305426d11945c72479d24a15d30768d50.tar.xz |
merge-file: add option to specify the marker size
This adds the abbility to specify the conflict marker size for merges outside
a git repository.
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.txt | 5 | ||||
-rw-r--r-- | builtin-merge-file.c | 2 | ||||
-rwxr-xr-x | t/t6023-merge-file.sh | 37 |
3 files changed, 42 insertions, 2 deletions
diff --git a/Documentation/git-merge-file.txt b/Documentation/git-merge-file.txt index 234269ae59..a5b9c1f6c8 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] + [--ours|--theirs] [-p|--stdout] [-q|--quiet] [--marker-size=<n>] <current-file> <base-file> <other-file> @@ -37,7 +37,8 @@ normally outputs a warning and brackets the conflict with lines containing 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. +lines from `<other-file>` 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. diff --git a/builtin-merge-file.c b/builtin-merge-file.c index cca81c2dde..fec15cc1ff 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_INTEGER(0, "marker-size", &xmp.marker_size, + "for conflicts, use this marker size"), OPT__QUIET(&quiet), OPT_CALLBACK('L', NULL, names, "name", "set labels for file1/orig_file/file2", &label_cb), diff --git a/t/t6023-merge-file.sh b/t/t6023-merge-file.sh index 6291307cd0..9c5ef68d8c 100755 --- a/t/t6023-merge-file.sh +++ b/t/t6023-merge-file.sh @@ -211,4 +211,41 @@ test_expect_success '"diff3 -m" style output (2)' ' test_cmp expect actual ' +cat >expect <<\EOF +Dominus regit me, +<<<<<<<<<< new8.txt +et nihil mihi deerit; + + + + +In loco pascuae ibi me collocavit; +super aquam refectionis educavit me. +|||||||||| +et nihil mihi deerit. +In loco pascuae ibi me collocavit, +super aquam refectionis educavit me; +========== +et nihil mihi deerit, + + + + +In loco pascuae ibi me collocavit -- +super aquam refectionis educavit me, +>>>>>>>>>> new9.txt +animam meam convertit, +deduxit me super semitas jusitiae, +propter nomen suum. +Nam et si ambulavero in medio umbrae mortis, +non timebo mala, quoniam TU mecum es: +virga tua et baculus tuus ipsa me consolata sunt. +EOF + +test_expect_success 'marker size' ' + test_must_fail git merge-file -p --marker-size=10 \ + new8.txt new5.txt new9.txt >actual && + test_cmp expect actual +' + test_done |