Documentation: describe 'union' low-level merge driver

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano 2007-12-22 23:14:59 -08:00
Родитель cc21682793
Коммит 0e545f7516
3 изменённых файлов: 41 добавлений и 4 удалений

Просмотреть файл

@ -23,6 +23,11 @@ OPTIONS
be treated as an attribute.
SEE ALSO
--------
gitlink:gitattributes[5].
Author
------
Written by Junio C Hamano <junkio@cox.net>

Просмотреть файл

@ -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

Просмотреть файл

@ -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: