OSDN Git Service

Documentation: describe 'union' low-level merge driver
authorJunio C Hamano <gitster@pobox.com>
Sun, 23 Dec 2007 07:14:59 +0000 (23:14 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 23 Dec 2007 07:14:59 +0000 (23:14 -0800)
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-check-attr.txt
Documentation/git-merge.txt
Documentation/gitattributes.txt

index 856d2af..47cb1bd 100644 (file)
@@ -23,6 +23,11 @@ OPTIONS
        be treated as an attribute.
 
 
+SEE ALSO
+--------
+gitlink:gitattributes[5].
+
+
 Author
 ------
 Written by Junio C Hamano <junkio@cox.net>
index eabd7ef..1521a9e 100644 (file)
@@ -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
index 71c7ad7..cc9c7c5 100644 (file)
@@ -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: