summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2007-12-22 23:14:59 -0800
committerJunio C Hamano <gitster@pobox.com>2007-12-22 23:14:59 -0800
commit0e545f75169e2c260dfb4445203c23cafdfc76ef (patch)
treee9863c4dbd66a9207e24ac3b8015e4475ed6bfa9
parentcc216827936e40bc2e8886623fd44f55e0674932 (diff)
downloadgit-0e545f75169e2c260dfb4445203c23cafdfc76ef.tar.gz
Documentation: describe 'union' low-level merge driver
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/git-check-attr.txt5
-rw-r--r--Documentation/git-merge.txt3
-rw-r--r--Documentation/gitattributes.txt37
3 files changed, 41 insertions, 4 deletions
diff --git a/Documentation/git-check-attr.txt b/Documentation/git-check-attr.txt
index 856d2af2ed..47cb1bdfa3 100644
--- a/Documentation/git-check-attr.txt
+++ b/Documentation/git-check-attr.txt
@@ -23,6 +23,11 @@ OPTIONS
be treated as an attribute.
+SEE ALSO
+--------
+gitlink:gitattributes[5].
+
+
Author
------
Written by Junio C Hamano <junkio@cox.net>
diff --git a/Documentation/git-merge.txt b/Documentation/git-merge.txt
index eabd7ef33f..1521a9ee0f 100644
--- a/Documentation/git-merge.txt
+++ b/Documentation/git-merge.txt
@@ -163,7 +163,8 @@ After seeing a conflict, you can do two things:
SEE ALSO
--------
-gitlink:git-fmt-merge-msg[1], gitlink:git-pull[1]
+gitlink:git-fmt-merge-msg[1], gitlink:git-pull[1],
+gitlink:gitattributes[5]
Author
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 71c7ad76d5..cc9c7c52c0 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt
@@ -322,12 +322,43 @@ String::
requested with "binary".
+Built-in merge drivers
+^^^^^^^^^^^^^^^^^^^^^^
+
+There are a few built-in low-level merge drivers defined that
+can be asked for via the `merge` attribute.
+
+text::
+
+ Usual 3-way file level merge for text files. Conflicted
+ regions are marked with conflict markers `<<<<<<<`,
+ `=======` and `>>>>>>>`. The version from your branch
+ appears before the `=======` marker, and the version
+ from the merged branch appears after the `=======`
+ marker.
+
+binary::
+
+ Keep the version from your branch in the work tree, but
+ leave the path in the conflicted state for the user to
+ sort out.
+
+union::
+
+ Run 3-way file level merge for text files, but take
+ lines from both versions, instead of leaving conflict
+ markers. This tends to leave the added lines in the
+ resulting file in random order and the user should
+ verify the result. Do not use this if you do not
+ understand the implications.
+
+
Defining a custom merge driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The definition of a merge driver is done in `gitconfig` not
-`gitattributes` file, so strictly speaking this manual page is a
-wrong place to talk about it. However...
+The definition of a merge driver is done in the `.git/config`
+file, not in the `gitattributes` file, so strictly speaking this
+manual page is a wrong place to talk about it. However...
To define a custom merge driver `filfre`, add a section to your
`$GIT_DIR/config` file (or `$HOME/.gitconfig` file) like this: