Browse Source

attr: "binary" attribute should choose built-in "binary" merge driver

The built-in "binary" attribute macro expands to "-diff -text", so
that textual diff is not produced, and the contents will not go
through any CR/LF conversion ever.  During a merge, it should also
choose the "binary" low-level merge driver, but it didn't.

Make it expand to "-diff -merge -text".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Junio C Hamano 13 years ago
parent
commit
155a4b712e
  1. 2
      Documentation/gitattributes.txt
  2. 2
      attr.c
  3. 2
      t/t6037-merge-ours-theirs.sh

2
Documentation/gitattributes.txt

@ -904,7 +904,7 @@ file at the toplevel (i.e. not in any subdirectory). The built-in @@ -904,7 +904,7 @@ file at the toplevel (i.e. not in any subdirectory). The built-in
macro attribute "binary" is equivalent to:

------------
[attr]binary -diff -text
[attr]binary -diff -merge -text
------------



2
attr.c

@ -306,7 +306,7 @@ static void free_attr_elem(struct attr_stack *e) @@ -306,7 +306,7 @@ static void free_attr_elem(struct attr_stack *e)
}

static const char *builtin_attr[] = {
"[attr]binary -diff -text",
"[attr]binary -diff -merge -text",
NULL,
};


2
t/t6037-merge-ours-theirs.sh

@ -54,7 +54,7 @@ test_expect_success 'recursive favouring ours' ' @@ -54,7 +54,7 @@ test_expect_success 'recursive favouring ours' '
'

test_expect_success 'binary file with -Xours/-Xtheirs' '
echo "file -merge" >.gitattributes &&
echo file binary >.gitattributes &&

git reset --hard master &&
git merge -s recursive -X theirs side &&

Loading…
Cancel
Save