please resolve a mystery for me: what is j-c-diff exactly? ;)
From: Yaroslav Halchenko <hidden>
Date: 2018-01-25 20:37:59
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
Hi Junio et al,
j-c-diff is "used" in the docs within git, git-annex, and other places
discussing git. But I failed to find it to seek for an ultimate prototypical
example of the diff command used by git ppl ;)
$> git log -Sj-c-diff -p Documentation/gitattributes.txt
commit 2cc3167c688d1c91bc4cb9b1caa737b9d4971056
Author: Junio C Hamano [off-list ref]
Date: Mon Apr 23 00:21:02 2007 -0700
Document "diff=driver" attribute
Signed-off-by: Junio C Hamano [off-list ref]
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt
index 126871756d..d2edb9b14a 100644
--- a/Documentation/gitattributes.txt
+++ b/Documentation/gitattributes.txt@@ -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.
Cheers! -- Yaroslav O. Halchenko Center for Open Neuroscience http://centerforopenneuroscience.org Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419 WWW: http://www.linkedin.com/in/yarik