Skip to content

Commit

Permalink
Document "diff=driver" attribute
Browse files Browse the repository at this point in the history
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Apr 23, 2007
1 parent 4280cde commit 2cc3167
Showing 1 changed file with 29 additions and 3 deletions.
32 changes: 29 additions & 3 deletions Documentation/gitattributes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,34 @@ Unspecified::
text, it is treated as text. Otherwise it would
generate `Binary files differ`.

Any other value set to `diff` attribute is ignored and git acts
as if the attribute is left unspecified.
String::

Diff is shown using the specified custom diff driver.
The driver program is given its input using the same
calling convention as used for GIT_EXTERNAL_DIFF
program.


Defining a custom diff driver
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The definition of a diff driver is done in `gitconfig`, not
`gitattributes` file, so strictly speaking this manual page is a
wrong place to talk about it. However...

To define a custom diff driver `jcdiff`, add a section to your
`$GIT_DIR/config` file (or `$HOME/.gitconfig` file) like this:

----------------------------------------------------------------
[diff "jcdiff"]
command = j-c-diff
----------------------------------------------------------------

When git needs to show you a diff for the path with `diff`
attribute set to `jcdiff`, it calls the command you specified
with the above configuration, i.e. `j-c-diff`, with 7
parameters, just like `GIT_EXTERNAL_DIFF` program is called.
See gitlink:git[7] for details.


Performing a three-way merge
Expand Down Expand Up @@ -183,7 +209,7 @@ Unspecified::
different merge driver to be used for paths to which the
`merge` attribute is unspecified.

Any other string value::
String::

3-way merge is performed using the specified custom
merge driver. The built-in 3-way merge driver can be
Expand Down

0 comments on commit 2cc3167

Please sign in to comment.