Browse Source

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>
maint
Bert Wesarg 15 years ago committed by Junio C Hamano
parent
commit
11f3aa2305
  1. 5
      Documentation/git-merge-file.txt
  2. 2
      builtin-merge-file.c
  3. 37
      t/t6023-merge-file.sh

5
Documentation/git-merge-file.txt

@ -10,7 +10,7 @@ SYNOPSIS @@ -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 @@ -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.

2
builtin-merge-file.c

@ -36,6 +36,8 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix) @@ -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),

37
t/t6023-merge-file.sh

@ -211,4 +211,41 @@ test_expect_success '"diff3 -m" style output (2)' ' @@ -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

Loading…
Cancel
Save