{"thread":{"id":"26957","subject":"[PATCH] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","startedAt":"2011-04-01T08:47:38Z","lastAt":"2011-04-07T16:19:07Z","messageCount":33,"participants":["Ramkumar Ramachandra","Jakub Narebski","Michael J Gruber","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"164865","messageId":"1301647658-28047-1-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":null,"subject":"[PATCH] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-01T08:47:38Z","receivedAt":"2011-04-01T08:47:38Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt |   28 ++++++++++++++++++++++++++++\n 1 files changed, 28 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 8ea55d4..db1801e 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -875,6 +875,24 @@ diff.tool::\n \tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n \tand plus \"kompare\".\n \n+diff.<tool>.command::\n+\tDefines a human-readable name for a custom low-level diff\n+\ttool.  See linkgit:gitattributes[5] for details.\n+\n+diff.<tool>.xfuncname::\n+\tDefines the command that implements a custom low-level merge\n+\ttool.  See linkgit:gitattributes[5] for details.\n+\n+diff.<tool>.textconv::\n+\tNames a low-level merge tool to be used when performing an\n+\tinternal merge between common ancestors.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<tool>.cachetextconv::\n+\tNames a low-level merge tool to be used when performing an\n+\tinternal merge between common ancestors.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\n \tyour tool is not in the PATH.\n@@ -973,6 +991,16 @@ format.signoff::\n     the rights to submit this work under the same open source license.\n     Please see the 'SubmittingPatches' document for further discussion.\n \n+filter.<driver>.clean::\n+\tDefines the command to be used to convert the contents of\n+\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+filter.<driver>.smudge::\n+\tDefines the command to be used to convert the blob object to\n+\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n gc.aggressiveWindow::\n \tThe window size parameter used in the delta compression\n \talgorithm used by 'git gc --aggressive'.  This defaults\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"164866","messageId":"m3ipuy49fg.fsf@localhost.localdomain","threadId":"26957","inReplyTo":"1301647658-28047-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-04-01T09:18:28Z","receivedAt":"2011-04-01T09:18:28Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Ramkumar Ramachandra <artagnon@gmail.com> writes:\n\n> Although the gitattributes page contains comprehensive information\n> about these configuration options, they should be included in the\n> config documentation for completeness.\n\nGood idea.\n\n> +diff.<tool>.command::\n> +\tDefines a human-readable name for a custom low-level diff\n> +\ttool.  See linkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.xfuncname::\n> +\tDefines the command that implements a custom low-level merge\n> +\ttool.  See linkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.textconv::\n> +\tNames a low-level merge tool to be used when performing an\n> +\tinternal merge between common ancestors.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.cachetextconv::\n> +\tNames a low-level merge tool to be used when performing an\n> +\tinternal merge between common ancestors.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n\nWTF?!?  You have seriously messed up matching description to config\nvariables.\n\nThe human readable-name for a custom diff tool or file-level (contents)\nmerge driver is the '<tool>' part of e.g. `diff.<tool>.command`, not the\nvalue of said config variable.\n\nIt should IMVHO be something like this:\n\n  +diff.<tool>.command::\n  +\tDefines command to be called to generate diff for files\n  +\twith `diff=<tool>` gitattribute.  See linkgit:gitattributes[5]\n  +\tfor details.\n  +\n  +diff.<tool>.xfuncname::\n  +\tSpecifies a regular expression that matches a line that you\n  +\twould want to appear as hunk header for files with `diff=<tool>`\n  +\tgitattribute, similarly to `--show-function-line=REGEXP` option\n  +\tof GNU diff.  See linkgit:gitattributes[5] for details.\n  +\n  +diff.<tool>.textconv::\n  +\tDefines command to be called to generate text-converted version\n  +\tof a binary file with `diff=<tool>` gitattribute.  The result of\n  +\tthe conversion is used to generate human-readable diff.  See\n  +\tlinkgit:gitattributes[5] for details.\n  +\n  +diff.<tool>.cachetextconv::\n  +\tSet to true to enable caching of text conversion.  See\n  +\tlinkgit:gitattributes[5] for details.\n\nThere is also `diff.<tool>.wordRegex` to be described.  And probably some\nmore (I didn't check which of gitattribute-related config variables are\nalready described).\n\n> +filter.<driver>.clean::\n> +\tDefines the command to be used to convert the contents of\n> +\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n> +filter.<driver>.smudge::\n> +\tDefines the command to be used to convert the blob object to\n> +\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n> +\tdetails.\n\nThis one is correct.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"164881","messageId":"1301654600-8901-1-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"m3ipuy49fg.fsf@localhost.localdomain","subject":"[PATCH v2] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-01T10:43:20Z","receivedAt":"2011-04-01T10:43:20Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nHelped-by: Jakub Narebski <jnareb@gmail.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\nThe first iteration of this patch contained completely wrong\ndescriptions for diff.<tool>.* options. Thanks to Jakub for pointing\nthem out, and for pointing out that I left out a a few options\nundocumented (found in userdiff.c).\n\n Documentation/config.txt |   46 ++++++++++++++++++++++++++++++++++++++++++++++\n 1 files changed, 46 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 8ea55d4..b2ec4e1 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -875,6 +875,42 @@ diff.tool::\n \tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n \tand plus \"kompare\".\n \n+diff.<tool>.command::\n+\tDefines command to be called to generate diff for files with\n+\t`diff=<tool>` gitattribute.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+diff.<tool>.funcname::\n+\tSpecifies a regular expression that matches a line to use as\n+\tthe hunk header for files with `diff=<tool>` gitattribute. A\n+\tbuilt-in pattern may also be used.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<tool>.xfuncname::\n+\tSame as 'diff.<tool>.funcname', except that an extended\n+\tregular expression can be specified in this case.\n+\n+diff.<tool>.binary::\n+\tSet to true to treat files files with `diff=<tool>`\n+\tgitattribute as binary for the purposes of diff.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<tool>.textconv::\n+\tDefines command to be called to generate text-converted version\n+\tof a binary file with `diff=<tool>` gitattribute.  The result of\n+\tthe conversion is used to generate human-readable diff.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<tool>.wordregex::\n+\tSpecifies the regular expression to use to customize the rules\n+\tthat `git diff --word-diff` uses to split words in a line.\n+\tSee linkgit:gitattributes[5] for details.\n+\n+diff.<tool>.cachetextconv::\n+\tSet to true to enable caching of text conversion outputs for\n+\tfiles with `diff=<tool>` gitattribute.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\n \tyour tool is not in the PATH.\n@@ -973,6 +1009,16 @@ format.signoff::\n     the rights to submit this work under the same open source license.\n     Please see the 'SubmittingPatches' document for further discussion.\n \n+filter.<driver>.clean::\n+\tDefines the command to be used to convert the contents of\n+\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+filter.<driver>.smudge::\n+\tDefines the command to be used to convert the blob object to\n+\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n gc.aggressiveWindow::\n \tThe window size parameter used in the delta compression\n \talgorithm used by 'git gc --aggressive'.  This defaults\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"164885","messageId":"201104011550.17750.jnareb@gmail.com","threadId":"26957","inReplyTo":"1301654600-8901-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH v2] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2011-04-01T13:50:16Z","receivedAt":"2011-04-01T13:50:16Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Ramkumar Ramachandra wrote:\n\n> +diff.<tool>.funcname::\n> +\tSpecifies a regular expression that matches a line to use as\n> +\tthe hunk header for files with `diff=<tool>` gitattribute. A\n> +\tbuilt-in pattern may also be used.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.xfuncname::\n> +\tSame as 'diff.<tool>.funcname', except that an extended\n> +\tregular expression can be specified in this case.\n\nDon't we deprecate funcname in favor of xfuncname, perhaps to the point \nof not documenting the former?\n\n-- \nJakub Narebski\nPoland\n"},{"id":"164888","messageId":"4D95D990.1050306@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1301654600-8901-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH v2] Documentation: Document diff.<tool>.* and filter.<driver>.* in config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-01T13:56:32Z","receivedAt":"2011-04-01T13:56:32Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 01.04.2011 12:43:\n> Although the gitattributes page contains comprehensive information\n> about these configuration options, they should be included in the\n> config documentation for completeness.\n> \n> Helped-by: Jakub Narebski <jnareb@gmail.com>\n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> ---\n> The first iteration of this patch contained completely wrong\n> descriptions for diff.<tool>.* options. Thanks to Jakub for pointing\n> them out, and for pointing out that I left out a a few options\n> undocumented (found in userdiff.c).\n> \n>  Documentation/config.txt |   46 ++++++++++++++++++++++++++++++++++++++++++++++\n>  1 files changed, 46 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 8ea55d4..b2ec4e1 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -875,6 +875,42 @@ diff.tool::\n>  \tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n>  \tand plus \"kompare\".\n>  \n> +diff.<tool>.command::\n> +\tDefines command to be called to generate diff for files with\n> +\t`diff=<tool>` gitattribute.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n> +diff.<tool>.funcname::\n> +\tSpecifies a regular expression that matches a line to use as\n> +\tthe hunk header for files with `diff=<tool>` gitattribute. A\n> +\tbuilt-in pattern may also be used.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.xfuncname::\n> +\tSame as 'diff.<tool>.funcname', except that an extended\n> +\tregular expression can be specified in this case.\n> +\n> +diff.<tool>.binary::\n> +\tSet to true to treat files files with `diff=<tool>`\n> +\tgitattribute as binary for the purposes of diff.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.textconv::\n> +\tDefines command to be called to generate text-converted version\n> +\tof a binary file with `diff=<tool>` gitattribute.  The result of\n> +\tthe conversion is used to generate human-readable diff.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.wordregex::\n> +\tSpecifies the regular expression to use to customize the rules\n> +\tthat `git diff --word-diff` uses to split words in a line.\n> +\tSee linkgit:gitattributes[5] for details.\n> +\n> +diff.<tool>.cachetextconv::\n> +\tSet to true to enable caching of text conversion outputs for\n> +\tfiles with `diff=<tool>` gitattribute.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n\nI am sorry, but I dislike this for several reasons. First, the wording:\n\"to use to customize\" and the like are no fun to read, and there are\nseveral articles missing.\n\nMore importantly: Those config options are not about difftools! Having\ndiff.<tool>.* before difftool.* is grossly misleading. The options above\nare all about external diff drivers. So, diff.<driver>.* would be\nappropriate here, esp. when looking at merge.*\n\n>  difftool.<tool>.path::\n>  \tOverride the path for the given tool.  This is useful in case\n>  \tyour tool is not in the PATH.\n> @@ -973,6 +1009,16 @@ format.signoff::\n>      the rights to submit this work under the same open source license.\n>      Please see the 'SubmittingPatches' document for further discussion.\n>  \n> +filter.<driver>.clean::\n> +\tDefines the command to be used to convert the contents of\n> +\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n> +filter.<driver>.smudge::\n> +\tDefines the command to be used to convert the blob object to\n> +\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n>  gc.aggressiveWindow::\n>  \tThe window size parameter used in the delta compression\n>  \talgorithm used by 'git gc --aggressive'.  This defaults\n"},{"id":"164993","messageId":"1301840722-24344-1-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1301654600-8901-1-git-send-email-artagnon@gmail.com","subject":"[PATCH v3 0/3] Document diff and filter drivers in config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-03T14:25:19Z","receivedAt":"2011-04-03T14:25:19Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"What changed since v2:\n- I decided to move the diff.* configuration options into a dedicated\n  diff-config.txt, corresponding to merge-config.txt.\n- The placeholder <driver> is much less confusing than <tool> (see\n  difftool.* family) -- thanks to Michael for that.\n- Language is much nicer now- thanks to Michael again.\n- The deprecated `funcname` is excluded now. Thanks to Jakub.\n- There's one extra patch; a small inconsistency that I happened to\n  come across while comparing diff-config.txt with merge-config.txt.\n\nThanks for reading.\n\n-- Ram\n\nRamkumar Ramachandra (3):\n  Documentation: Add filter.<driver>.* to config\n  Documentation: Add diff.<driver>.* to config\n  Documentation: Allow custom diff tools to be specified in 'diff.tool'\n\n Documentation/config.txt      |   73 +++++---------------------------\n Documentation/diff-config.txt |   93 +++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 104 insertions(+), 62 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"164994","messageId":"1301840722-24344-2-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1301840722-24344-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 1/3] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-03T14:25:20Z","receivedAt":"2011-04-03T14:25:20Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt |   10 ++++++++++\n 1 files changed, 10 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 8ea55d4..711072c 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -973,6 +973,16 @@ format.signoff::\n     the rights to submit this work under the same open source license.\n     Please see the 'SubmittingPatches' document for further discussion.\n \n+filter.<driver>.clean::\n+\tDefines the command to be used to convert the contents of\n+\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+filter.<driver>.smudge::\n+\tDefines the command to be used to convert the blob object to\n+\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n gc.aggressiveWindow::\n \tThe window size parameter used in the delta compression\n \talgorithm used by 'git gc --aggressive'.  This defaults\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"164995","messageId":"1301840722-24344-3-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1301840722-24344-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 2/3] Documentation: Add diff.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-03T14:25:21Z","receivedAt":"2011-04-03T14:25:21Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.  Also, move out the diff.*\nconfiguration options into a dedicated diff-config.txt.\n\nHelped-by: Jakub Narebski <jnareb@gmail.com>\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt      |   63 +----------------------------\n Documentation/diff-config.txt |   91 +++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 92 insertions(+), 62 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 711072c..cfeef63 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -812,68 +812,7 @@ commit.template::\n \t\"{tilde}/\" is expanded to the value of `$HOME` and \"{tilde}user/\" to the\n \tspecified user's home directory.\n \n-diff.autorefreshindex::\n-\tWhen using 'git diff' to compare with work tree\n-\tfiles, do not consider stat-only change as changed.\n-\tInstead, silently run `git update-index --refresh` to\n-\tupdate the cached stat information for paths whose\n-\tcontents in the work tree match the contents in the\n-\tindex.  This option defaults to true.  Note that this\n-\taffects only 'git diff' Porcelain, and not lower level\n-\t'diff' commands such as 'git diff-files'.\n-\n-diff.external::\n-\tIf this config variable is set, diff generation is not\n-\tperformed using the internal diff machinery, but using the\n-\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n-\tenvironment variable.  The command is called with parameters\n-\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n-\tyou want to use an external diff program only on a subset of\n-\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n-\n-diff.mnemonicprefix::\n-\tIf set, 'git diff' uses a prefix pair that is different from the\n-\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n-\tthis configuration is in effect, reverse diff output also swaps\n-\tthe order of the prefixes:\n-`git diff`;;\n-\tcompares the (i)ndex and the (w)ork tree;\n-`git diff HEAD`;;\n-\t compares a (c)ommit and the (w)ork tree;\n-`git diff --cached`;;\n-\tcompares a (c)ommit and the (i)ndex;\n-`git diff HEAD:file1 file2`;;\n-\tcompares an (o)bject and a (w)ork tree entity;\n-`git diff --no-index a b`;;\n-\tcompares two non-git things (1) and (2).\n-\n-diff.noprefix::\n-\tIf set, 'git diff' does not show any source or destination prefix.\n-\n-diff.renameLimit::\n-\tThe number of files to consider when performing the copy/rename\n-\tdetection; equivalent to the 'git diff' option '-l'.\n-\n-diff.renames::\n-\tTells git to detect renames.  If set to any boolean value, it\n-\twill enable basic rename detection.  If set to \"copies\" or\n-\t\"copy\", it will detect copies, as well.\n-\n-diff.ignoreSubmodules::\n-\tSets the default value of --ignore-submodules. Note that this\n-\taffects only 'git diff' Porcelain, and not lower level 'diff'\n-\tcommands such as 'git diff-files'. 'git checkout' also honors\n-\tthis setting when reporting uncommitted changes.\n-\n-diff.suppressBlankEmpty::\n-\tA boolean to inhibit the standard behavior of printing a space\n-\tbefore each empty output line. Defaults to false.\n-\n-diff.tool::\n-\tControls which diff tool is used.  `diff.tool` overrides\n-\t`merge.tool` when used by linkgit:git-difftool[1] and has\n-\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n+include::diff-config.txt[]\n \n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nnew file mode 100644\nindex 0000000..8c1732f\n--- /dev/null\n+++ b/Documentation/diff-config.txt\n@@ -0,0 +1,91 @@\n+diff.autorefreshindex::\n+\tWhen using 'git diff' to compare with work tree\n+\tfiles, do not consider stat-only change as changed.\n+\tInstead, silently run `git update-index --refresh` to\n+\tupdate the cached stat information for paths whose\n+\tcontents in the work tree match the contents in the\n+\tindex.  This option defaults to true.  Note that this\n+\taffects only 'git diff' Porcelain, and not lower level\n+\t'diff' commands such as 'git diff-files'.\n+\n+diff.external::\n+\tIf this config variable is set, diff generation is not\n+\tperformed using the internal diff machinery, but using the\n+\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n+\tenvironment variable.  The command is called with parameters\n+\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n+\tyou want to use an external diff program only on a subset of\n+\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n+\n+diff.ignoreSubmodules::\n+\tSets the default value of --ignore-submodules. Note that this\n+\taffects only 'git diff' Porcelain, and not lower level 'diff'\n+\tcommands such as 'git diff-files'. 'git checkout' also honors\n+\tthis setting when reporting uncommitted changes.\n+\n+diff.mnemonicprefix::\n+\tIf set, 'git diff' uses a prefix pair that is different from the\n+\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n+\tthis configuration is in effect, reverse diff output also swaps\n+\tthe order of the prefixes:\n+`git diff`;;\n+\tcompares the (i)ndex and the (w)ork tree;\n+`git diff HEAD`;;\n+\t compares a (c)ommit and the (w)ork tree;\n+`git diff --cached`;;\n+\tcompares a (c)ommit and the (i)ndex;\n+`git diff HEAD:file1 file2`;;\n+\tcompares an (o)bject and a (w)ork tree entity;\n+`git diff --no-index a b`;;\n+\tcompares two non-git things (1) and (2).\n+\n+diff.noprefix::\n+\tIf set, 'git diff' does not show any source or destination prefix.\n+\n+diff.renameLimit::\n+\tThe number of files to consider when performing the copy/rename\n+\tdetection; equivalent to the 'git diff' option '-l'.\n+\n+diff.renames::\n+\tTells git to detect renames.  If set to any boolean value, it\n+\twill enable basic rename detection.  If set to \"copies\" or\n+\t\"copy\", it will detect copies, as well.\n+\n+diff.suppressBlankEmpty::\n+\tA boolean to inhibit the standard behavior of printing a space\n+\tbefore each empty output line. Defaults to false.\n+\n+diff.tool::\n+\tControls which diff tool is used.  `diff.tool` overrides\n+\t`merge.tool` when used by linkgit:git-difftool[1] and has\n+\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n+\tand plus \"kompare\".\n+\n+diff.<driver>.command::\n+\tDefines the command that implements the custom diff driver.\n+\tSee linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.xfuncname::\n+\tDefines the regular expression that the custom diff driver\n+\tshould use to recognize the hunk header.  A built-in pattern\n+\tmay also be used.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.binary::\n+\tSet this option to true to make the custom diff driver treat\n+\tfiles as binary.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.textconv::\n+\tDefines the command that the custom diff driver should call to\n+\tgenerate the text-converted version of a binary file.  The\n+\tresult of the conversion is used to generate a human-readable\n+\tdiff.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.wordregex::\n+\tDefines the regular expression that the custom diff driver\n+\tshould use to split words in a line.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<driver>.cachetextconv::\n+\tSet this option to true to make the custom diff driver cache\n+\tthe text conversion outputs.  See linkgit:gitattributes[5] for\n+\tdetails.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"164996","messageId":"1301840722-24344-4-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1301840722-24344-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 3/3] Documentation: Allow custom diff tools to be specified in 'diff.tool'","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-03T14:25:22Z","receivedAt":"2011-04-03T14:25:22Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Apart from the list of \"valid values\", 'diff.tool' can take any value,\nprovided there is a corresponding 'difftool.<tool>.cmd' option.\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/diff-config.txt |    4 +++-\n 1 files changed, 3 insertions(+), 1 deletions(-)\n\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nindex 8c1732f..7f985a3 100644\n--- a/Documentation/diff-config.txt\n+++ b/Documentation/diff-config.txt\n@@ -59,7 +59,9 @@ diff.tool::\n \tControls which diff tool is used.  `diff.tool` overrides\n \t`merge.tool` when used by linkgit:git-difftool[1] and has\n \tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n+\tand plus \"kompare\".  Any other value is treated is custom\n+\tdiff tool and there must be a corresponding\n+\t'difftool.<tool>.cmd' option.\n \n diff.<driver>.command::\n \tDefines the command that implements the custom diff driver.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165096","messageId":"4D99854B.70801@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1301840722-24344-2-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH 1/3] Documentation: Add filter.<driver>.* to config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-04T08:46:03Z","receivedAt":"2011-04-04T08:46:03Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 03.04.2011 16:25:\n> Although the gitattributes page contains comprehensive information\n> about these configuration options, they should be included in the\n> config documentation for completeness.\n> \n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> ---\n>  Documentation/config.txt |   10 ++++++++++\n>  1 files changed, 10 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 8ea55d4..711072c 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -973,6 +973,16 @@ format.signoff::\n>      the rights to submit this work under the same open source license.\n>      Please see the 'SubmittingPatches' document for further discussion.\n>  \n> +filter.<driver>.clean::\n> +\tDefines the command to be used to convert the contents of\n> +\tworktree file upon checkin.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n\nHere we go again :) I rever Desmond Tutu, I dislike \"to... to\"... And\narticles. Also, every option \"defines\" something, no need to say that:\n\nThe command which is used to convert the content of a worktree file to a\nblob upon checkin.\n\n\n> +filter.<driver>.smudge::\n> +\tDefines the command to be used to convert the blob object to\n> +\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n\nThe command which is used to convert the content of a blob object to a\nworktree file upon checkout.\n\n>  gc.aggressiveWindow::\n>  \tThe window size parameter used in the delta compression\n>  \talgorithm used by 'git gc --aggressive'.  This defaults\n"},{"id":"165098","messageId":"4D998736.2080901@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1301840722-24344-3-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH 2/3] Documentation: Add diff.<driver>.* to config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-04T08:54:14Z","receivedAt":"2011-04-04T08:54:14Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 03.04.2011 16:25:\n> Although the gitattributes page contains comprehensive information\n> about these configuration options, they should be included in the\n> config documentation for completeness.  Also, move out the diff.*\n> configuration options into a dedicated diff-config.txt.\n> \n> Helped-by: Jakub Narebski <jnareb@gmail.com>\n> Helped-by: Michael J Gruber <git@drmicha.warpmail.net>\n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> ---\n>  Documentation/config.txt      |   63 +----------------------------\n>  Documentation/diff-config.txt |   91 +++++++++++++++++++++++++++++++++++++++++\n>  2 files changed, 92 insertions(+), 62 deletions(-)\n>  create mode 100644 Documentation/diff-config.txt\n> \n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 711072c..cfeef63 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -812,68 +812,7 @@ commit.template::\n>  \t\"{tilde}/\" is expanded to the value of `$HOME` and \"{tilde}user/\" to the\n>  \tspecified user's home directory.\n>  \n> -diff.autorefreshindex::\n> -\tWhen using 'git diff' to compare with work tree\n> -\tfiles, do not consider stat-only change as changed.\n> -\tInstead, silently run `git update-index --refresh` to\n> -\tupdate the cached stat information for paths whose\n> -\tcontents in the work tree match the contents in the\n> -\tindex.  This option defaults to true.  Note that this\n> -\taffects only 'git diff' Porcelain, and not lower level\n> -\t'diff' commands such as 'git diff-files'.\n> -\n> -diff.external::\n> -\tIf this config variable is set, diff generation is not\n> -\tperformed using the internal diff machinery, but using the\n> -\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n> -\tenvironment variable.  The command is called with parameters\n> -\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n> -\tyou want to use an external diff program only on a subset of\n> -\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n> -\n> -diff.mnemonicprefix::\n> -\tIf set, 'git diff' uses a prefix pair that is different from the\n> -\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n> -\tthis configuration is in effect, reverse diff output also swaps\n> -\tthe order of the prefixes:\n> -`git diff`;;\n> -\tcompares the (i)ndex and the (w)ork tree;\n> -`git diff HEAD`;;\n> -\t compares a (c)ommit and the (w)ork tree;\n> -`git diff --cached`;;\n> -\tcompares a (c)ommit and the (i)ndex;\n> -`git diff HEAD:file1 file2`;;\n> -\tcompares an (o)bject and a (w)ork tree entity;\n> -`git diff --no-index a b`;;\n> -\tcompares two non-git things (1) and (2).\n> -\n> -diff.noprefix::\n> -\tIf set, 'git diff' does not show any source or destination prefix.\n> -\n> -diff.renameLimit::\n> -\tThe number of files to consider when performing the copy/rename\n> -\tdetection; equivalent to the 'git diff' option '-l'.\n> -\n> -diff.renames::\n> -\tTells git to detect renames.  If set to any boolean value, it\n> -\twill enable basic rename detection.  If set to \"copies\" or\n> -\t\"copy\", it will detect copies, as well.\n> -\n> -diff.ignoreSubmodules::\n> -\tSets the default value of --ignore-submodules. Note that this\n> -\taffects only 'git diff' Porcelain, and not lower level 'diff'\n> -\tcommands such as 'git diff-files'. 'git checkout' also honors\n> -\tthis setting when reporting uncommitted changes.\n> -\n> -diff.suppressBlankEmpty::\n> -\tA boolean to inhibit the standard behavior of printing a space\n> -\tbefore each empty output line. Defaults to false.\n> -\n> -diff.tool::\n> -\tControls which diff tool is used.  `diff.tool` overrides\n> -\t`merge.tool` when used by linkgit:git-difftool[1] and has\n> -\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n> -\tand plus \"kompare\".\n> +include::diff-config.txt[]\n>  \n>  difftool.<tool>.path::\n>  \tOverride the path for the given tool.  This is useful in case\n> diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\n> new file mode 100644\n> index 0000000..8c1732f\n> --- /dev/null\n> +++ b/Documentation/diff-config.txt\n> @@ -0,0 +1,91 @@\n> +diff.autorefreshindex::\n> +\tWhen using 'git diff' to compare with work tree\n> +\tfiles, do not consider stat-only change as changed.\n> +\tInstead, silently run `git update-index --refresh` to\n> +\tupdate the cached stat information for paths whose\n> +\tcontents in the work tree match the contents in the\n> +\tindex.  This option defaults to true.  Note that this\n> +\taffects only 'git diff' Porcelain, and not lower level\n> +\t'diff' commands such as 'git diff-files'.\n> +\n> +diff.external::\n> +\tIf this config variable is set, diff generation is not\n> +\tperformed using the internal diff machinery, but using the\n> +\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n> +\tenvironment variable.  The command is called with parameters\n> +\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n> +\tyou want to use an external diff program only on a subset of\n> +\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n> +\n> +diff.ignoreSubmodules::\n> +\tSets the default value of --ignore-submodules. Note that this\n> +\taffects only 'git diff' Porcelain, and not lower level 'diff'\n> +\tcommands such as 'git diff-files'. 'git checkout' also honors\n> +\tthis setting when reporting uncommitted changes.\n> +\n> +diff.mnemonicprefix::\n> +\tIf set, 'git diff' uses a prefix pair that is different from the\n> +\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n> +\tthis configuration is in effect, reverse diff output also swaps\n> +\tthe order of the prefixes:\n> +`git diff`;;\n> +\tcompares the (i)ndex and the (w)ork tree;\n> +`git diff HEAD`;;\n> +\t compares a (c)ommit and the (w)ork tree;\n> +`git diff --cached`;;\n> +\tcompares a (c)ommit and the (i)ndex;\n> +`git diff HEAD:file1 file2`;;\n> +\tcompares an (o)bject and a (w)ork tree entity;\n> +`git diff --no-index a b`;;\n> +\tcompares two non-git things (1) and (2).\n> +\n> +diff.noprefix::\n> +\tIf set, 'git diff' does not show any source or destination prefix.\n> +\n> +diff.renameLimit::\n> +\tThe number of files to consider when performing the copy/rename\n> +\tdetection; equivalent to the 'git diff' option '-l'.\n> +\n> +diff.renames::\n> +\tTells git to detect renames.  If set to any boolean value, it\n> +\twill enable basic rename detection.  If set to \"copies\" or\n> +\t\"copy\", it will detect copies, as well.\n> +\n> +diff.suppressBlankEmpty::\n> +\tA boolean to inhibit the standard behavior of printing a space\n> +\tbefore each empty output line. Defaults to false.\n> +\n> +diff.tool::\n> +\tControls which diff tool is used.  `diff.tool` overrides\n> +\t`merge.tool` when used by linkgit:git-difftool[1] and has\n> +\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n> +\tand plus \"kompare\".\n\nThat one would make more sense right before the diftool.* options.\n\n> +\n> +diff.<driver>.command::\n> +\tDefines the command that implements the custom diff driver.\n> +\tSee linkgit:gitattributes[5] for details.\n\nWhy not:\n\nThe custom diff driver command.\n\n> +\n> +diff.<driver>.xfuncname::\n> +\tDefines the regular expression that the custom diff driver\n> +\tshould use to recognize the hunk header.  A built-in pattern\n> +\tmay also be used.  See linkgit:gitattributes[5] for details.\n\nThe regular...\n\n> +\n> +diff.<driver>.binary::\n> +\tSet this option to true to make the custom diff driver treat\n> +\tfiles as binary.  See linkgit:gitattributes[5] for details.\n\nThis has nothing to do with the diff driver's operation. It is about how\ngit treats the result (the output from the diff driver):\n\nSet to true if git should treat the output of the custom diff driver as\nbinary.\n\n> +\n> +diff.<driver>.textconv::\n> +\tDefines the command that the custom diff driver should call to\n> +\tgenerate the text-converted version of a binary file.  The\n> +\tresult of the conversion is used to generate a human-readable\n> +\tdiff.  See linkgit:gitattributes[5] for details.\n\nNo, please! You don't need a custom diff driver for textconv.\n\nThe command which git should call to...\n\n> +\n> +diff.<driver>.wordregex::\n> +\tDefines the regular expression that the custom diff driver\n> +\tshould use to split words in a line.  See\n> +\tlinkgit:gitattributes[5] for details.\n> +\n> +diff.<driver>.cachetextconv::\n> +\tSet this option to true to make the custom diff driver cache\n> +\tthe text conversion outputs.  See linkgit:gitattributes[5] for\n> +\tdetails.\n\nAgain, both are independent of a custom diff driver. Maybe even <driver>\nis misleading here, I dunno. By \"custom diff driver\", I mean the thing\nyou specify with \"diff.<whatever>.command\", and this is orthogonal\n(unrelated, can be combined with) textconc etc.\n\nMichael\n"},{"id":"165099","messageId":"4D998783.8060209@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1301840722-24344-4-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH 3/3] Documentation: Allow custom diff tools to be specified in 'diff.tool'","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-04T08:55:31Z","receivedAt":"2011-04-04T08:55:31Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 03.04.2011 16:25:\n> Apart from the list of \"valid values\", 'diff.tool' can take any value,\n> provided there is a corresponding 'difftool.<tool>.cmd' option.\n> \n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> ---\n>  Documentation/diff-config.txt |    4 +++-\n>  1 files changed, 3 insertions(+), 1 deletions(-)\n> \n> diff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\n> index 8c1732f..7f985a3 100644\n> --- a/Documentation/diff-config.txt\n> +++ b/Documentation/diff-config.txt\n> @@ -59,7 +59,9 @@ diff.tool::\n>  \tControls which diff tool is used.  `diff.tool` overrides\n>  \t`merge.tool` when used by linkgit:git-difftool[1] and has\n>  \tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n> -\tand plus \"kompare\".\n> +\tand plus \"kompare\".  Any other value is treated is custom\n\n\"treated as a custom\"\n\n> +\tdiff tool and there must be a corresponding\n> +\t'difftool.<tool>.cmd' option.\n>  \n>  diff.<driver>.command::\n>  \tDefines the command that implements the custom diff driver.\n"},{"id":"165127","messageId":"7v1v1i9bft.fsf@alter.siamese.dyndns.org","threadId":"26957","inReplyTo":"4D998736.2080901@drmicha.warpmail.net","subject":"Re: [PATCH 2/3] Documentation: Add diff.<driver>.* to config","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-04T17:24:38Z","receivedAt":"2011-04-04T17:24:38Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael J Gruber <git@drmicha.warpmail.net> writes:\n\n>> ...\n>> +diff.<driver>.xfuncname::\n>> +\tDefines the regular expression that the custom diff driver\n>> +\tshould use to recognize the hunk header.  A built-in pattern\n>> +\tmay also be used.  See linkgit:gitattributes[5] for details.\n>\n> The regular...\n\nI agree with your \"Defines...\" comment.\n\n>> +diff.<driver>.binary::\n>> +\tSet this option to true to make the custom diff driver treat\n>> +\tfiles as binary.  See linkgit:gitattributes[5] for details.\n>\n> This has nothing to do with the diff driver's operation. It is about how\n> git treats the result (the output from the diff driver):\n\nIn general, the use of \"diff.<driver>.foo\" is consistent with the current\nterminology, which is coming from the description of <driver> in the\ngitattributes documentation:\n\n   `diff`\n   ^^^^^^\n\n   The attribute `diff` affects how 'git' generates diffs for particular\n   files. It can tell git whether to generate a textual patch for the path\n   or to treat the path as a binary file.  It can also affect...\n\n   Set::\n   ...\n   String::\n\n           Diff is shown using the specified diff driver.  Each driver may\n           specify one or more options, as described in the following\n           section. The options for the diff driver \"foo\" are defined\n           by the configuration variables in the \"diff.foo\" section of the\n           git config file.\n\nWhen the 'diff' attribute was invented, its string value was meant to say\nmore than \"do generate diff for this path\" (set) vs \"don't generate diff\nfor this path\" (unset) by saying what _kind_ of file it is and switch the\nbackend driver to generate diff based on that _kind_.  We could call this\n\"kind\" a file-type, but that is a bit too broad a word; we are not talking\nabout regular file vs symbolic link or executable vs non-executable.  This\nis about letting us determine the type of the _content_ more explicitly\nthan the case where the attribute is Unspecified and we inspect the\ncontent to determine the type.  Perhaps we could have called this\ncontent-type but again that word has other established meaning.\n\nIn any case, as you point out, the description itself is not quite right\nfrom the end-user's point of view, even though it is correct at the\nimplementation level.\n\nThis diff.<driver>.binary variable is a somewhat ugly workaround for\ncontent types that want to be treated as if they are binary while \"diff\"\n(usually you would say \"-diff\" in gitattributes file for such a path)\nworks, but still want non-diff users (e.g. \"cat-file --textconv\") of the\ntextconv filter to still apply the specified text conversion.  In order to\nspecify what text conversion to apply, you would need a content-type to do\nso, but once you specify a content-type, \"diff\" will not treat them as\nbinary anymore, so you tell the \"diff\" machinery by setting this variable.\n\nAt the implementation level, you are telling the <driver>, which is\ndefined as an array of operations indexed by content-types, to respond to\nrequests to \"diff\" by producing \"binary files differ\", so in that sense,\nit is telling \"the custom diff driver\" to \"treat files as binary\".\n\n>> +diff.<driver>.textconv::\n>> +\tDefines the command that the custom diff driver should call to\n>> +\tgenerate the text-converted version of a binary file.  The\n>> +\tresult of the conversion is used to generate a human-readable\n>> +\tdiff.  See linkgit:gitattributes[5] for details.\n>\n> No, please! You don't need a custom diff driver for textconv.\n\nCorrect.  Probably we should abolish \"custom\" from the above description.\nAlso \"binary\" is unnecessary in \"version of a binary file\" above, as it is\nperfectly sensible to run ps2ascii for a text postscript file.\n\n>> +diff.<driver>.wordregex::\n>> +\tDefines the regular expression that the custom diff driver\n>> +\tshould use to split words in a line.  See\n>> +\tlinkgit:gitattributes[5] for details.\n>> +\n>> +diff.<driver>.cachetextconv::\n>> +\tSet this option to true to make the custom diff driver cache\n>> +\tthe text conversion outputs.  See linkgit:gitattributes[5] for\n>> +\tdetails.\n>\n> Again, both are independent of a custom diff driver.\n\nJust drop \"custom\".\n\n> ... Maybe even <driver>\n> is misleading here, I dunno.\n\nPerhaps.  See the \"file-type\" and \"content-type\" discussion above.\n"},{"id":"165255","messageId":"1302083854-2448-1-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1301654600-8901-1-git-send-email-artagnon@gmail.com","subject":"[PATCH v4 0/4] Document diff and filter drivers in config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T09:57:30Z","receivedAt":"2011-04-06T09:57:30Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Also, describe What changed since v3:\n- More language improvements, thanks to Michael.\n- Junio's elaborate note clarifies several options.\n- One more patch in the series to make similar corrections to\n  merge-config.\n\nThanks for reading.\n\n-- Ram\n\nRamkumar Ramachandra (4):\n  Documentation: Add filter.<driver>.* to config\n  Documentation: Add diff.<driver>.* to config\n  Documentation: Allow custom diff tools to be specified in 'diff.tool'\n  Documentation: Minor language improvements to merge-config\n\n Documentation/config.txt       |   72 ++++---------------------------\n Documentation/diff-config.txt  |   91 ++++++++++++++++++++++++++++++++++++++++\n Documentation/merge-config.txt |   38 ++++++++--------\n 3 files changed, 120 insertions(+), 81 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165258","messageId":"1302083854-2448-2-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T09:57:31Z","receivedAt":"2011-04-06T09:57:31Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt |    9 +++++++++\n 1 files changed, 9 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 8ea55d4..654a3b8 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -973,6 +973,15 @@ format.signoff::\n     the rights to submit this work under the same open source license.\n     Please see the 'SubmittingPatches' document for further discussion.\n \n+filter.<driver>.clean::\n+\tThe command which is used to convert the contents of worktree\n+\tfile upon checkin.  See linkgit:gitattributes[5] for details.\n+\n+filter.<driver>.smudge::\n+\tThe command which is used to convert the blob object to\n+\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n gc.aggressiveWindow::\n \tThe window size parameter used in the delta compression\n \talgorithm used by 'git gc --aggressive'.  This defaults\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165256","messageId":"1302083854-2448-3-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 2/4] Documentation: Add diff.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T09:57:32Z","receivedAt":"2011-04-06T09:57:32Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nHelped-by: Jakub Narebski <jnareb@gmail.com>\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt      |   63 +----------------------------\n Documentation/diff-config.txt |   90 +++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 91 insertions(+), 62 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 654a3b8..4e13735 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -812,68 +812,7 @@ commit.template::\n \t\"{tilde}/\" is expanded to the value of `$HOME` and \"{tilde}user/\" to the\n \tspecified user's home directory.\n \n-diff.autorefreshindex::\n-\tWhen using 'git diff' to compare with work tree\n-\tfiles, do not consider stat-only change as changed.\n-\tInstead, silently run `git update-index --refresh` to\n-\tupdate the cached stat information for paths whose\n-\tcontents in the work tree match the contents in the\n-\tindex.  This option defaults to true.  Note that this\n-\taffects only 'git diff' Porcelain, and not lower level\n-\t'diff' commands such as 'git diff-files'.\n-\n-diff.external::\n-\tIf this config variable is set, diff generation is not\n-\tperformed using the internal diff machinery, but using the\n-\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n-\tenvironment variable.  The command is called with parameters\n-\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n-\tyou want to use an external diff program only on a subset of\n-\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n-\n-diff.mnemonicprefix::\n-\tIf set, 'git diff' uses a prefix pair that is different from the\n-\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n-\tthis configuration is in effect, reverse diff output also swaps\n-\tthe order of the prefixes:\n-`git diff`;;\n-\tcompares the (i)ndex and the (w)ork tree;\n-`git diff HEAD`;;\n-\t compares a (c)ommit and the (w)ork tree;\n-`git diff --cached`;;\n-\tcompares a (c)ommit and the (i)ndex;\n-`git diff HEAD:file1 file2`;;\n-\tcompares an (o)bject and a (w)ork tree entity;\n-`git diff --no-index a b`;;\n-\tcompares two non-git things (1) and (2).\n-\n-diff.noprefix::\n-\tIf set, 'git diff' does not show any source or destination prefix.\n-\n-diff.renameLimit::\n-\tThe number of files to consider when performing the copy/rename\n-\tdetection; equivalent to the 'git diff' option '-l'.\n-\n-diff.renames::\n-\tTells git to detect renames.  If set to any boolean value, it\n-\twill enable basic rename detection.  If set to \"copies\" or\n-\t\"copy\", it will detect copies, as well.\n-\n-diff.ignoreSubmodules::\n-\tSets the default value of --ignore-submodules. Note that this\n-\taffects only 'git diff' Porcelain, and not lower level 'diff'\n-\tcommands such as 'git diff-files'. 'git checkout' also honors\n-\tthis setting when reporting uncommitted changes.\n-\n-diff.suppressBlankEmpty::\n-\tA boolean to inhibit the standard behavior of printing a space\n-\tbefore each empty output line. Defaults to false.\n-\n-diff.tool::\n-\tControls which diff tool is used.  `diff.tool` overrides\n-\t`merge.tool` when used by linkgit:git-difftool[1] and has\n-\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n+include::diff-config.txt[]\n \n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nnew file mode 100644\nindex 0000000..0796d5e\n--- /dev/null\n+++ b/Documentation/diff-config.txt\n@@ -0,0 +1,90 @@\n+diff.autorefreshindex::\n+\tWhen using 'git diff' to compare with work tree\n+\tfiles, do not consider stat-only change as changed.\n+\tInstead, silently run `git update-index --refresh` to\n+\tupdate the cached stat information for paths whose\n+\tcontents in the work tree match the contents in the\n+\tindex.  This option defaults to true.  Note that this\n+\taffects only 'git diff' Porcelain, and not lower level\n+\t'diff' commands such as 'git diff-files'.\n+\n+diff.external::\n+\tIf this config variable is set, diff generation is not\n+\tperformed using the internal diff machinery, but using the\n+\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n+\tenvironment variable.  The command is called with parameters\n+\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n+\tyou want to use an external diff program only on a subset of\n+\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n+\n+diff.ignoreSubmodules::\n+\tSets the default value of --ignore-submodules. Note that this\n+\taffects only 'git diff' Porcelain, and not lower level 'diff'\n+\tcommands such as 'git diff-files'. 'git checkout' also honors\n+\tthis setting when reporting uncommitted changes.\n+\n+diff.mnemonicprefix::\n+\tIf set, 'git diff' uses a prefix pair that is different from the\n+\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n+\tthis configuration is in effect, reverse diff output also swaps\n+\tthe order of the prefixes:\n+`git diff`;;\n+\tcompares the (i)ndex and the (w)ork tree;\n+`git diff HEAD`;;\n+\t compares a (c)ommit and the (w)ork tree;\n+`git diff --cached`;;\n+\tcompares a (c)ommit and the (i)ndex;\n+`git diff HEAD:file1 file2`;;\n+\tcompares an (o)bject and a (w)ork tree entity;\n+`git diff --no-index a b`;;\n+\tcompares two non-git things (1) and (2).\n+\n+diff.noprefix::\n+\tIf set, 'git diff' does not show any source or destination prefix.\n+\n+diff.renameLimit::\n+\tThe number of files to consider when performing the copy/rename\n+\tdetection; equivalent to the 'git diff' option '-l'.\n+\n+diff.renames::\n+\tTells git to detect renames.  If set to any boolean value, it\n+\twill enable basic rename detection.  If set to \"copies\" or\n+\t\"copy\", it will detect copies, as well.\n+\n+diff.suppressBlankEmpty::\n+\tA boolean to inhibit the standard behavior of printing a space\n+\tbefore each empty output line. Defaults to false.\n+\n+diff.tool::\n+\tControls which diff tool is used.  `diff.tool` overrides\n+\t`merge.tool` when used by linkgit:git-difftool[1] and has\n+\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n+\tand plus \"kompare\".\n+\n+diff.<driver>.command::\n+\tThe custom diff driver command.  See linkgit:gitattributes[5]\n+\tfor details.\n+\n+diff.<driver>.xfuncname::\n+\tThe regular expression that the custom diff driver should use\n+\tto recognize the hunk header.  A built-in pattern may also be\n+\tused.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.binary::\n+\tSet this option to true to make the custom diff driver treat\n+\tfiles as binary.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.textconv::\n+\tThe command that the diff driver should call to generate the\n+\ttext-converted version of a file.  The result of the\n+\tconversion is used to generate a human-readable diff.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<driver>.wordregex::\n+\tThe regular expression that the diff driver should use to\n+\tsplit words in a line.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+diff.<driver>.cachetextconv::\n+\tSet this option to true to make the diff driver cache the text\n+\tconversion outputs.  See linkgit:gitattributes[5] for details.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165257","messageId":"1302083854-2448-4-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 3/4] Documentation: Allow custom diff tools to be specified in 'diff.tool'","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T09:57:33Z","receivedAt":"2011-04-06T09:57:33Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Apart from the list of \"valid values\", 'diff.tool' can take any value,\nprovided there is a corresponding 'difftool.<tool>.cmd' option.  Also,\ndescribe this option just before the 'difftool.*' options.\n\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/diff-config.txt |   13 +++++++------\n 1 files changed, 7 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nindex 0796d5e..f1468df 100644\n--- a/Documentation/diff-config.txt\n+++ b/Documentation/diff-config.txt\n@@ -55,12 +55,6 @@ diff.suppressBlankEmpty::\n \tA boolean to inhibit the standard behavior of printing a space\n \tbefore each empty output line. Defaults to false.\n \n-diff.tool::\n-\tControls which diff tool is used.  `diff.tool` overrides\n-\t`merge.tool` when used by linkgit:git-difftool[1] and has\n-\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n-\n diff.<driver>.command::\n \tThe custom diff driver command.  See linkgit:gitattributes[5]\n \tfor details.\n@@ -88,3 +82,10 @@ diff.<driver>.wordregex::\n diff.<driver>.cachetextconv::\n \tSet this option to true to make the diff driver cache the text\n \tconversion outputs.  See linkgit:gitattributes[5] for details.\n+\n+diff.tool::\n+\tThe diff tool to used by linkgit:git-difftool[1].  This option\n+\toverrides `merge.tool`, and has the same valid values as\n+\t`merge.tool` minus \"tortoisemerge\" and plus \"kompare\".  Any\n+\tother value is treated as a custom diff tool, and there must\n+\tbe a corresponding 'difftool.<tool>.cmd' option.\t\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165259","messageId":"1302083854-2448-5-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 4/4] Documentation: Minor language improvements to merge-config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T09:57:34Z","receivedAt":"2011-04-06T09:57:34Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Improve readability by dropping superflous verbs like \"specifies\",\n\"controls\", and \"defines\".  Describe the `merge.tool` option just\nbefore the `mergetool.*` options.\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/merge-config.txt |   38 +++++++++++++++++++-------------------\n 1 files changed, 19 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 33bf74c..d3dd640 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -1,5 +1,5 @@\n merge.conflictstyle::\n-\tSpecify the style in which conflicted hunks are written out to\n+\tThe style in which conflicted hunks are written out to\n \tworking tree files upon merge.  The default is \"merge\", which\n \tshows a `<<<<<<<` conflict marker, changes made by one side,\n \ta `=======` marker, changes made by the other side, and then\n@@ -28,19 +28,11 @@ merge.renormalize::\n \tattributes\" in linkgit:gitattributes[5].\n \n merge.stat::\n-\tWhether to print the diffstat between ORIG_HEAD and the merge result\n-\tat the end of the merge.  True by default.\n-\n-merge.tool::\n-\tControls which merge resolution program is used by\n-\tlinkgit:git-mergetool[1].  Valid built-in values are: \"araxis\",\n-\t\"bc3\", \"diffuse\", \"ecmerge\", \"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\",\n-\t\"opendiff\", \"p4merge\", \"tkdiff\", \"tortoisemerge\", \"vimdiff\"\n-\tand \"xxdiff\".  Any other value is treated is custom merge tool\n-\tand there must be a corresponding mergetool.<tool>.cmd option.\n+\tSet this option to false to omit printing the diffstat between\n+\tORIG_HEAD and the merge result at the end of the merge.\n \n merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n+\tThe amount of output shown by the recursive merge\n \tstrategy.  Level 0 outputs nothing except a final error\n \tmessage if conflicts were detected. Level 1 outputs only\n \tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n@@ -48,15 +40,22 @@ merge.verbosity::\n \tCan be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.\n \n merge.<driver>.name::\n-\tDefines a human-readable name for a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\tThe name of the custom merge driver.  See\n+\tlinkgit:gitattributes[5] for details.\n \n merge.<driver>.driver::\n-\tDefines the command that implements a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\tThe command that implements the custom merge driver.  See\n+\tlinkgit:gitattributes[5] for details.\n \n merge.<driver>.recursive::\n-\tNames a low-level merge driver to be used when\n-\tperforming an internal merge between common ancestors.\n-\tSee linkgit:gitattributes[5] for details.\n+\tThe merge driver to be used when performing an internal merge\n+\tbetween common ancestors.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+merge.tool::\n+\tThe merge tool to be used by linkgit:git-mergetool[1].  Valid\n+\tbuilt-in values are: \"araxis\", \"bc3\", \"diffuse\", \"ecmerge\",\n+\t\"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\", \"opendiff\", \"p4merge\",\n+\t\"tkdiff\", \"tortoisemerge\", \"vimdiff\" and \"xxdiff\".  Any other\n+\tvalue is treated as a custom merge tool, and there must be a\n+\tcorresponding mergetool.<tool>.cmd option.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165263","messageId":"4D9C4E0F.8050302@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1302083854-2448-2-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-06T11:27:11Z","receivedAt":"2011-04-06T11:27:11Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 11:57:\n> Although the gitattributes page contains comprehensive information\n> about these configuration options, they should be included in the\n> config documentation for completeness.\n> \n> Helped-by: Michael J Gruber <git@drmicha.warpmail.net>\n> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> ---\n>  Documentation/config.txt |    9 +++++++++\n>  1 files changed, 9 insertions(+), 0 deletions(-)\n> \n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 8ea55d4..654a3b8 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -973,6 +973,15 @@ format.signoff::\n>      the rights to submit this work under the same open source license.\n>      Please see the 'SubmittingPatches' document for further discussion.\n>  \n> +filter.<driver>.clean::\n> +\tThe command which is used to convert the contents of worktree\n> +\tfile upon checkin.  See linkgit:gitattributes[5] for details.\n\nI don't want to be a PITA, but is there any particular reason you are\nrefusing to use the article \"a\" even after repeated suggestions to use\nit? (Also, I suggested to say what we are converting into here.)\n\n> +\n> +filter.<driver>.smudge::\n> +\tThe command which is used to convert the blob object to\n> +\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n> +\tdetails.\n> +\n\nYou see, before my first response in this thread I thought: \"Doing this\nmyself would be less work than replying and explaining things, but I'll\ntry to be nice.\"\n\nNow, this is v4, I've even provided complete sentences ready for copy &\npaste, and we're still iterating. It turned out to be *much more* work\nthan doing it myself. I'm sorry but I can't afford to spend even more\ntime on this.\n\n>  gc.aggressiveWindow::\n>  \tThe window size parameter used in the delta compression\n>  \talgorithm used by 'git gc --aggressive'.  This defaults\n"},{"id":"165267","messageId":"20110406124235.GA5881@kytes","threadId":"26957","inReplyTo":"4D9C4E0F.8050302@drmicha.warpmail.net","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T12:51:12Z","receivedAt":"2011-04-06T12:51:12Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi Michael,\n\nMichael J Gruber writes:\n> Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 11:57:\n> > Although the gitattributes page contains comprehensive information\n> > about these configuration options, they should be included in the\n> > config documentation for completeness.\n> > \n> > Helped-by: Michael J Gruber <git@drmicha.warpmail.net>\n> > Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n> > ---\n> >  Documentation/config.txt |    9 +++++++++\n> >  1 files changed, 9 insertions(+), 0 deletions(-)\n> > \n> > diff --git a/Documentation/config.txt b/Documentation/config.txt\n> > index 8ea55d4..654a3b8 100644\n> > --- a/Documentation/config.txt\n> > +++ b/Documentation/config.txt\n> > @@ -973,6 +973,15 @@ format.signoff::\n> >      the rights to submit this work under the same open source license.\n> >      Please see the 'SubmittingPatches' document for further discussion.\n> >  \n> > +filter.<driver>.clean::\n> > +\tThe command which is used to convert the contents of worktree\n> > +\tfile upon checkin.  See linkgit:gitattributes[5] for details.\n> \n> I don't want to be a PITA, but is there any particular reason you are\n> refusing to use the article \"a\" even after repeated suggestions to use\n> it? (Also, I suggested to say what we are converting into here.)\n\nOuch, sorry.\n\n> > +\n> > +filter.<driver>.smudge::\n> > +\tThe command which is used to convert the blob object to\n> > +\tworktree file upon checkout.  See linkgit:gitattributes[5] for\n> > +\tdetails.\n> > +\n> \n> You see, before my first response in this thread I thought: \"Doing this\n> myself would be less work than replying and explaining things, but I'll\n> try to be nice.\"\n> \n> Now, this is v4, I've even provided complete sentences ready for copy &\n> paste, and we're still iterating. It turned out to be *much more* work\n> than doing it myself. I'm sorry but I can't afford to spend even more\n> time on this.\n\nI'm very sorry to have caused so much pain.  Yes, I can imagine how\nterrible it must be to review several iterations of a simple\ndocumentation patch.  Thank you for being so patient with me so far- I\nunderstand if you don't want to do this anymore.\n\nI do spend time proofreading patches before sending them out, but I'm\nclearly not very good at it.  In future, I'll either try rewriting\nentire paragraphs or simply refrain from writing documentation\npatches.  Please try to understand that sending out many iterations of\na documentation patch isn't something I particularly enjoy doing.\nI'll send out another iteration of this series anyway.\n\n-- Ram\n"},{"id":"165287","messageId":"7vpqozjpcl.fsf@alter.siamese.dyndns.org","threadId":"26957","inReplyTo":"20110406124235.GA5881@kytes","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-06T16:50:50Z","receivedAt":"2011-04-06T16:50:50Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ramkumar Ramachandra <artagnon@gmail.com> writes:\n\n> I'm very sorry to have caused so much pain.  Yes, I can imagine how\n> terrible it must be to review several iterations of a simple\n> documentation patch.  Thank you for being so patient with me so far- I\n> understand if you don't want to do this anymore.\n>\n> I do spend time proofreading patches before sending them out, but I'm\n> clearly not very good at it.  In future, I'll either try rewriting\n> entire paragraphs or simply refrain from writing documentation patches.\n\nI do not think that is the lesson you should learn from this exchange.  A\nmajor part of Michael's complaint (which I think was justified) was that\nhe even made a suggestion that is ready to be cut-and-pasted, but your\nreroll does not use the suggested phrasing _without_ explaining why it\ndoesn't.\n\nIt is not limited to \"documentation patches\".  If you get a \"how about\ndoing it this way---isn't it cleaner?\" suggestion to your code patch, you\nat least owe either \"yeah, that looks better---thanks, I've used it in\nthis reroll\" or \"no, because...; I've used the original\" to the person who\ntried to help you, no?\n"},{"id":"165294","messageId":"20110406180950.GA667@kytes","threadId":"26957","inReplyTo":"7vpqozjpcl.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:09:55Z","receivedAt":"2011-04-06T18:09:55Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi Junio,\n\nJunio C Hamano writes:\n> Ramkumar Ramachandra <artagnon@gmail.com> writes:\n> > I'm very sorry to have caused so much pain.  Yes, I can imagine how\n> > terrible it must be to review several iterations of a simple\n> > documentation patch.  Thank you for being so patient with me so far- I\n> > understand if you don't want to do this anymore.\n> >\n> > I do spend time proofreading patches before sending them out, but I'm\n> > clearly not very good at it.  In future, I'll either try rewriting\n> > entire paragraphs or simply refrain from writing documentation patches.\n> \n> I do not think that is the lesson you should learn from this exchange.  A\n> major part of Michael's complaint (which I think was justified) was that\n> he even made a suggestion that is ready to be cut-and-pasted, but your\n> reroll does not use the suggested phrasing _without_ explaining why it\n> doesn't.\n> \n> It is not limited to \"documentation patches\".  If you get a \"how about\n> doing it this way---isn't it cleaner?\" suggestion to your code patch, you\n> at least owe either \"yeah, that looks better---thanks, I've used it in\n> this reroll\" or \"no, because...; I've used the original\" to the person who\n> tried to help you, no?\n\nI completely agree -- all of Michael's suggestions were excellent, and\nI'd definitely owe him an explanation for not using something.  In\nthis particular case, it was an honest mistake though- I meant to\ninclude Michael's version, but I'd rolled out the wrong commit after\nrebasing.\n\n-- Ram\n"},{"id":"165299","messageId":"1302115611-1950-1-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"[PATCH v5 0/4] Document diff and filter drivers in config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:46:47Z","receivedAt":"2011-04-06T18:46:47Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"What changed since v4:\n- I included the wrong commit in 1/4 last time.\n- More nits and proof-reading.\n\n-- Ram\n\nRamkumar Ramachandra (4):\n  Documentation: Add filter.<driver>.* to config\n  Documentation: Add diff.<driver>.* to config\n  Documentation: Allow custom diff tools to be specified in 'diff.tool'\n  Documentation: Minor language improvements to merge-config\n\n Documentation/config.txt       |   73 +++++---------------------------\n Documentation/diff-config.txt  |   92 ++++++++++++++++++++++++++++++++++++++++\n Documentation/merge-config.txt |   39 +++++++++--------\n 3 files changed, 123 insertions(+), 81 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165298","messageId":"1302115611-1950-2-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302115611-1950-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:46:48Z","receivedAt":"2011-04-06T18:46:48Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt |   10 ++++++++++\n 1 files changed, 10 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 750c86d..d3de3d0 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -977,6 +977,16 @@ format.signoff::\n     the rights to submit this work under the same open source license.\n     Please see the 'SubmittingPatches' document for further discussion.\n \n+filter.<driver>.clean::\n+\tThe command which is used to convert the content of a worktree\n+\tfile to a blob upon checkin.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+filter.<driver>.smudge::\n+\tThe command which is used to convert the content of a blob\n+\tobject to a worktree file upon checkout.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n gc.aggressiveWindow::\n \tThe window size parameter used in the delta compression\n \talgorithm used by 'git gc --aggressive'.  This defaults\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165300","messageId":"1302115611-1950-3-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302115611-1950-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 2/4] Documentation: Add diff.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:46:49Z","receivedAt":"2011-04-06T18:46:49Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Although the gitattributes page contains comprehensive information\nabout these configuration options, they should be included in the\nconfig documentation for completeness.\n\nHelped-by: Jakub Narebski <jnareb@gmail.com>\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/config.txt      |   63 +----------------------------\n Documentation/diff-config.txt |   90 +++++++++++++++++++++++++++++++++++++++++\n 2 files changed, 91 insertions(+), 62 deletions(-)\n create mode 100644 Documentation/diff-config.txt\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex d3de3d0..e618820 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -812,68 +812,7 @@ commit.template::\n \t\"{tilde}/\" is expanded to the value of `$HOME` and \"{tilde}user/\" to the\n \tspecified user's home directory.\n \n-diff.autorefreshindex::\n-\tWhen using 'git diff' to compare with work tree\n-\tfiles, do not consider stat-only change as changed.\n-\tInstead, silently run `git update-index --refresh` to\n-\tupdate the cached stat information for paths whose\n-\tcontents in the work tree match the contents in the\n-\tindex.  This option defaults to true.  Note that this\n-\taffects only 'git diff' Porcelain, and not lower level\n-\t'diff' commands such as 'git diff-files'.\n-\n-diff.external::\n-\tIf this config variable is set, diff generation is not\n-\tperformed using the internal diff machinery, but using the\n-\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n-\tenvironment variable.  The command is called with parameters\n-\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n-\tyou want to use an external diff program only on a subset of\n-\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n-\n-diff.mnemonicprefix::\n-\tIf set, 'git diff' uses a prefix pair that is different from the\n-\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n-\tthis configuration is in effect, reverse diff output also swaps\n-\tthe order of the prefixes:\n-`git diff`;;\n-\tcompares the (i)ndex and the (w)ork tree;\n-`git diff HEAD`;;\n-\t compares a (c)ommit and the (w)ork tree;\n-`git diff --cached`;;\n-\tcompares a (c)ommit and the (i)ndex;\n-`git diff HEAD:file1 file2`;;\n-\tcompares an (o)bject and a (w)ork tree entity;\n-`git diff --no-index a b`;;\n-\tcompares two non-git things (1) and (2).\n-\n-diff.noprefix::\n-\tIf set, 'git diff' does not show any source or destination prefix.\n-\n-diff.renameLimit::\n-\tThe number of files to consider when performing the copy/rename\n-\tdetection; equivalent to the 'git diff' option '-l'.\n-\n-diff.renames::\n-\tTells git to detect renames.  If set to any boolean value, it\n-\twill enable basic rename detection.  If set to \"copies\" or\n-\t\"copy\", it will detect copies, as well.\n-\n-diff.ignoreSubmodules::\n-\tSets the default value of --ignore-submodules. Note that this\n-\taffects only 'git diff' Porcelain, and not lower level 'diff'\n-\tcommands such as 'git diff-files'. 'git checkout' also honors\n-\tthis setting when reporting uncommitted changes.\n-\n-diff.suppressBlankEmpty::\n-\tA boolean to inhibit the standard behavior of printing a space\n-\tbefore each empty output line. Defaults to false.\n-\n-diff.tool::\n-\tControls which diff tool is used.  `diff.tool` overrides\n-\t`merge.tool` when used by linkgit:git-difftool[1] and has\n-\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n+include::diff-config.txt[]\n \n difftool.<tool>.path::\n \tOverride the path for the given tool.  This is useful in case\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nnew file mode 100644\nindex 0000000..0796d5e\n--- /dev/null\n+++ b/Documentation/diff-config.txt\n@@ -0,0 +1,90 @@\n+diff.autorefreshindex::\n+\tWhen using 'git diff' to compare with work tree\n+\tfiles, do not consider stat-only change as changed.\n+\tInstead, silently run `git update-index --refresh` to\n+\tupdate the cached stat information for paths whose\n+\tcontents in the work tree match the contents in the\n+\tindex.  This option defaults to true.  Note that this\n+\taffects only 'git diff' Porcelain, and not lower level\n+\t'diff' commands such as 'git diff-files'.\n+\n+diff.external::\n+\tIf this config variable is set, diff generation is not\n+\tperformed using the internal diff machinery, but using the\n+\tgiven command.  Can be overridden with the `GIT_EXTERNAL_DIFF'\n+\tenvironment variable.  The command is called with parameters\n+\tas described under \"git Diffs\" in linkgit:git[1].  Note: if\n+\tyou want to use an external diff program only on a subset of\n+\tyour files, you\tmight want to use linkgit:gitattributes[5] instead.\n+\n+diff.ignoreSubmodules::\n+\tSets the default value of --ignore-submodules. Note that this\n+\taffects only 'git diff' Porcelain, and not lower level 'diff'\n+\tcommands such as 'git diff-files'. 'git checkout' also honors\n+\tthis setting when reporting uncommitted changes.\n+\n+diff.mnemonicprefix::\n+\tIf set, 'git diff' uses a prefix pair that is different from the\n+\tstandard \"a/\" and \"b/\" depending on what is being compared.  When\n+\tthis configuration is in effect, reverse diff output also swaps\n+\tthe order of the prefixes:\n+`git diff`;;\n+\tcompares the (i)ndex and the (w)ork tree;\n+`git diff HEAD`;;\n+\t compares a (c)ommit and the (w)ork tree;\n+`git diff --cached`;;\n+\tcompares a (c)ommit and the (i)ndex;\n+`git diff HEAD:file1 file2`;;\n+\tcompares an (o)bject and a (w)ork tree entity;\n+`git diff --no-index a b`;;\n+\tcompares two non-git things (1) and (2).\n+\n+diff.noprefix::\n+\tIf set, 'git diff' does not show any source or destination prefix.\n+\n+diff.renameLimit::\n+\tThe number of files to consider when performing the copy/rename\n+\tdetection; equivalent to the 'git diff' option '-l'.\n+\n+diff.renames::\n+\tTells git to detect renames.  If set to any boolean value, it\n+\twill enable basic rename detection.  If set to \"copies\" or\n+\t\"copy\", it will detect copies, as well.\n+\n+diff.suppressBlankEmpty::\n+\tA boolean to inhibit the standard behavior of printing a space\n+\tbefore each empty output line. Defaults to false.\n+\n+diff.tool::\n+\tControls which diff tool is used.  `diff.tool` overrides\n+\t`merge.tool` when used by linkgit:git-difftool[1] and has\n+\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n+\tand plus \"kompare\".\n+\n+diff.<driver>.command::\n+\tThe custom diff driver command.  See linkgit:gitattributes[5]\n+\tfor details.\n+\n+diff.<driver>.xfuncname::\n+\tThe regular expression that the custom diff driver should use\n+\tto recognize the hunk header.  A built-in pattern may also be\n+\tused.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.binary::\n+\tSet this option to true to make the custom diff driver treat\n+\tfiles as binary.  See linkgit:gitattributes[5] for details.\n+\n+diff.<driver>.textconv::\n+\tThe command that the diff driver should call to generate the\n+\ttext-converted version of a file.  The result of the\n+\tconversion is used to generate a human-readable diff.  See\n+\tlinkgit:gitattributes[5] for details.\n+\n+diff.<driver>.wordregex::\n+\tThe regular expression that the diff driver should use to\n+\tsplit words in a line.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+diff.<driver>.cachetextconv::\n+\tSet this option to true to make the diff driver cache the text\n+\tconversion outputs.  See linkgit:gitattributes[5] for details.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165302","messageId":"1302115611-1950-4-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302115611-1950-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 3/4] Documentation: Allow custom diff tools to be specified in 'diff.tool'","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:46:50Z","receivedAt":"2011-04-06T18:46:50Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Apart from the list of \"valid values\", 'diff.tool' can take any value,\nprovided there is a corresponding 'difftool.<tool>.cmd' option.  Also,\ndescribe this option just before the 'difftool.*' options.\n\nHelped-by: Michael J Gruber <git@drmicha.warpmail.net>\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/diff-config.txt |   14 ++++++++------\n 1 files changed, 8 insertions(+), 6 deletions(-)\n\ndiff --git a/Documentation/diff-config.txt b/Documentation/diff-config.txt\nindex 0796d5e..d604484 100644\n--- a/Documentation/diff-config.txt\n+++ b/Documentation/diff-config.txt\n@@ -55,12 +55,6 @@ diff.suppressBlankEmpty::\n \tA boolean to inhibit the standard behavior of printing a space\n \tbefore each empty output line. Defaults to false.\n \n-diff.tool::\n-\tControls which diff tool is used.  `diff.tool` overrides\n-\t`merge.tool` when used by linkgit:git-difftool[1] and has\n-\tthe same valid values as `merge.tool` minus \"tortoisemerge\"\n-\tand plus \"kompare\".\n-\n diff.<driver>.command::\n \tThe custom diff driver command.  See linkgit:gitattributes[5]\n \tfor details.\n@@ -88,3 +82,11 @@ diff.<driver>.wordregex::\n diff.<driver>.cachetextconv::\n \tSet this option to true to make the diff driver cache the text\n \tconversion outputs.  See linkgit:gitattributes[5] for details.\n+\n+diff.tool::\n+\tThe diff tool to be used by linkgit:git-difftool[1].  This\n+\toption overrides `merge.tool`, and has the same valid built-in\n+\tvalues as `merge.tool` minus \"tortoisemerge\" and plus\n+\t\"kompare\".  Any other value is treated as a custom diff tool,\n+\tand there must be a corresponding `difftool.<tool>.cmd`\n+\toption.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165301","messageId":"1302115611-1950-5-git-send-email-artagnon@gmail.com","threadId":"26957","inReplyTo":"1302115611-1950-1-git-send-email-artagnon@gmail.com","subject":"[PATCH 4/4] Documentation: Minor language improvements to merge-config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-06T18:46:51Z","receivedAt":"2011-04-06T18:46:51Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Improve readability by dropping superflous verbs like \"specifies\",\n\"controls\", and \"defines\".  Describe the `merge.tool` option just\nbefore the `mergetool.*` options.\n\nSigned-off-by: Ramkumar Ramachandra <artagnon@gmail.com>\n---\n Documentation/merge-config.txt |   39 ++++++++++++++++++++-------------------\n 1 files changed, 20 insertions(+), 19 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 8920258..6cd5127 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -1,5 +1,5 @@\n merge.conflictstyle::\n-\tSpecify the style in which conflicted hunks are written out to\n+\tThe style in which conflicted hunks are written out to\n \tworking tree files upon merge.  The default is \"merge\", which\n \tshows a `<<<<<<<` conflict marker, changes made by one side,\n \ta `=======` marker, changes made by the other side, and then\n@@ -38,19 +38,12 @@ merge.renormalize::\n \tattributes\" in linkgit:gitattributes[5].\n \n merge.stat::\n-\tWhether to print the diffstat between ORIG_HEAD and the merge result\n-\tat the end of the merge.  True by default.\n-\n-merge.tool::\n-\tControls which merge resolution program is used by\n-\tlinkgit:git-mergetool[1].  Valid built-in values are: \"araxis\",\n-\t\"bc3\", \"diffuse\", \"ecmerge\", \"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\",\n-\t\"opendiff\", \"p4merge\", \"tkdiff\", \"tortoisemerge\", \"vimdiff\"\n-\tand \"xxdiff\".  Any other value is treated is custom merge tool\n-\tand there must be a corresponding mergetool.<tool>.cmd option.\n+\tSet this option to false to omit printing the diffstat between\n+\tORIG_HEAD and the merge result at the end of the merge.\n+\tDefaults to true.\n \n merge.verbosity::\n-\tControls the amount of output shown by the recursive merge\n+\tThe amount of output shown by the recursive merge\n \tstrategy.  Level 0 outputs nothing except a final error\n \tmessage if conflicts were detected. Level 1 outputs only\n \tconflicts, 2 outputs conflicts and file changes.  Level 5 and\n@@ -58,14 +51,22 @@ merge.verbosity::\n \tCan be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.\n \n merge.<driver>.name::\n-\tDefines a human-readable name for a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\tThe name of the custom merge driver.  See\n+\tlinkgit:gitattributes[5] for details.\n \n merge.<driver>.driver::\n-\tDefines the command that implements a custom low-level\n-\tmerge driver.  See linkgit:gitattributes[5] for details.\n+\tThe command that implements the custom merge driver.  See\n+\tlinkgit:gitattributes[5] for details.\n \n merge.<driver>.recursive::\n-\tNames a low-level merge driver to be used when\n-\tperforming an internal merge between common ancestors.\n-\tSee linkgit:gitattributes[5] for details.\n+\tThe merge driver to be used when performing an internal merge\n+\tbetween common ancestors.  See linkgit:gitattributes[5] for\n+\tdetails.\n+\n+merge.tool::\n+\tThe merge tool to be used by linkgit:git-mergetool[1].  Valid\n+\tbuilt-in values are: \"araxis\", \"bc3\", \"diffuse\", \"ecmerge\",\n+\t\"emerge\", \"gvimdiff\", \"kdiff3\", \"meld\", \"opendiff\", \"p4merge\",\n+\t\"tkdiff\", \"tortoisemerge\", \"vimdiff\" and \"xxdiff\".  Any other\n+\tvalue is treated as a custom merge tool, and there must be a\n+\tcorresponding `mergetool.<tool>.cmd` option.\n-- \n1.7.4.rc1.7.g2cf08.dirty\n"},{"id":"165304","messageId":"7vwrj7i2je.fsf@alter.siamese.dyndns.org","threadId":"26957","inReplyTo":"1302115611-1950-3-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH 2/4] Documentation: Add diff.<driver>.* to config","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-06T19:48:53Z","receivedAt":"2011-04-06T19:48:53Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ramkumar Ramachandra <artagnon@gmail.com> writes:\n\n> +diff.<driver>.command::\n> +\tThe custom diff driver command.  See linkgit:gitattributes[5]\n> +\tfor details.\n\nThis is about \"custom\", but I thought it was pointed out that ...\n\n> +diff.<driver>.xfuncname::\n> +\tThe regular expression that the custom diff driver should use\n> +\tto recognize the hunk header.  A built-in pattern may also be\n> +\tused.  See linkgit:gitattributes[5] for details.\n> +\n> +diff.<driver>.binary::\n> +\tSet this option to true to make the custom diff driver treat\n> +\tfiles as binary.  See linkgit:gitattributes[5] for details.\n\n... these two don't have much to do with \"custom\".  You seem to have\ndropped \"custom\" from the remaining three, and I think their description\nwithout \"custom\" makes more sense.\n\nIt is not a problem for me to just amend these two and lose \"custom\" when\nI apply this patch (if there is no other glitch in it, of course), but I\nam wondering if these are intentional.\n\n> +diff.<driver>.textconv::\n> +diff.<driver>.wordregex::\n> +diff.<driver>.cachetextconv::\n"},{"id":"165337","messageId":"20110407030341.GA28334@kytes","threadId":"26957","inReplyTo":"7vwrj7i2je.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/4] Documentation: Add diff.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-07T03:03:43Z","receivedAt":"2011-04-07T03:03:43Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi Junio,\n\nJunio C Hamano writes:\n> Ramkumar Ramachandra <artagnon@gmail.com> writes:\n> \n> > +diff.<driver>.command::\n> > +\tThe custom diff driver command.  See linkgit:gitattributes[5]\n> > +\tfor details.\n> \n> This is about \"custom\", but I thought it was pointed out that ...\n> \n> > +diff.<driver>.xfuncname::\n> > +\tThe regular expression that the custom diff driver should use\n> > +\tto recognize the hunk header.  A built-in pattern may also be\n> > +\tused.  See linkgit:gitattributes[5] for details.\n> > +\n> > +diff.<driver>.binary::\n> > +\tSet this option to true to make the custom diff driver treat\n> > +\tfiles as binary.  See linkgit:gitattributes[5] for details.\n> \n> ... these two don't have much to do with \"custom\".  You seem to have\n> dropped \"custom\" from the remaining three, and I think their description\n> without \"custom\" makes more sense.\n> \n> It is not a problem for me to just amend these two and lose \"custom\" when\n> I apply this patch (if there is no other glitch in it, of course), but I\n\nRight.  I was a little confused about these two, but yeah- I see now\nthat dependence on `diff.<driver>.command` is equivalent to saying\nthat an option applies to a \"custom\" diff driver.  Please amend to\nlose the \"custom\".\n\nThanks.\n\n-- Ram\n"},{"id":"165347","messageId":"4D9DA6AB.40100@drmicha.warpmail.net","threadId":"26957","inReplyTo":"20110406180950.GA667@kytes","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-07T11:57:31Z","receivedAt":"2011-04-07T11:57:31Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 20:09:\n> Hi Junio,\n> \n> Junio C Hamano writes:\n>> Ramkumar Ramachandra <artagnon@gmail.com> writes:\n>>> I'm very sorry to have caused so much pain.  Yes, I can imagine how\n>>> terrible it must be to review several iterations of a simple\n>>> documentation patch.  Thank you for being so patient with me so far- I\n>>> understand if you don't want to do this anymore.\n>>>\n>>> I do spend time proofreading patches before sending them out, but I'm\n>>> clearly not very good at it.  In future, I'll either try rewriting\n>>> entire paragraphs or simply refrain from writing documentation patches.\n>>\n>> I do not think that is the lesson you should learn from this exchange.  A\n>> major part of Michael's complaint (which I think was justified) was that\n>> he even made a suggestion that is ready to be cut-and-pasted, but your\n>> reroll does not use the suggested phrasing _without_ explaining why it\n>> doesn't.\n>>\n>> It is not limited to \"documentation patches\".  If you get a \"how about\n>> doing it this way---isn't it cleaner?\" suggestion to your code patch, you\n>> at least owe either \"yeah, that looks better---thanks, I've used it in\n>> this reroll\" or \"no, because...; I've used the original\" to the person who\n>> tried to help you, no?\n> \n> I completely agree -- all of Michael's suggestions were excellent, and\n> I'd definitely owe him an explanation for not using something.  In\n> this particular case, it was an honest mistake though- I meant to\n> include Michael's version, but I'd rolled out the wrong commit after\n> rebasing.\n\nRam, all is well (explained) now, and please don't give up on\ndocumentation patches. You see, it happened to me again and again that I\nsubmitted something, and someone took over the initiative or the idea\nand submitted something under his name. And that is completely OK (after\nall I had signed off on my patch, it's part of the O in OSS) but\n\"deprives\" the original submitter of the \"reward\" of having the commit\ncount incremented. And that is what I wanted to spare you by not\nsubmitting my own version.\n\nCheers,\nMichael\n"},{"id":"165348","messageId":"4D9DB247.8040708@drmicha.warpmail.net","threadId":"26957","inReplyTo":"1302083854-2448-1-git-send-email-artagnon@gmail.com","subject":"Re: [PATCH v4 0/4] Document diff and filter drivers in config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-07T12:47:03Z","receivedAt":"2011-04-07T12:47:03Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 11:57:\n> Also, describe What changed since v3:\n> - More language improvements, thanks to Michael.\n> - Junio's elaborate note clarifies several options.\n> - One more patch in the series to make similar corrections to\n>   merge-config.\n> \n> Thanks for reading.\n> \n> -- Ram\n> \n> Ramkumar Ramachandra (4):\n>   Documentation: Add filter.<driver>.* to config\n>   Documentation: Add diff.<driver>.* to config\n>   Documentation: Allow custom diff tools to be specified in 'diff.tool'\n>   Documentation: Minor language improvements to merge-config\n> \n>  Documentation/config.txt       |   72 ++++---------------------------\n>  Documentation/diff-config.txt  |   91 ++++++++++++++++++++++++++++++++++++++++\n>  Documentation/merge-config.txt |   38 ++++++++--------\n>  3 files changed, 120 insertions(+), 81 deletions(-)\n>  create mode 100644 Documentation/diff-config.txt\n> \n\nThanks for hanging in, looks good (minus the customs which Junio mentioned).\n\nMichael\n"},{"id":"165349","messageId":"4D9DB2BB.8080606@drmicha.warpmail.net","threadId":"26957","inReplyTo":"4D9DB247.8040708@drmicha.warpmail.net","subject":"Re: [PATCH v4 0/4] Document diff and filter drivers in config","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2011-04-07T12:48:59Z","receivedAt":"2011-04-07T12:48:59Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Michael J Gruber venit, vidit, dixit 07.04.2011 14:47:\n> Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 11:57:\n>> Also, describe What changed since v3:\n>> - More language improvements, thanks to Michael.\n>> - Junio's elaborate note clarifies several options.\n>> - One more patch in the series to make similar corrections to\n>>   merge-config.\n>>\n>> Thanks for reading.\n>>\n>> -- Ram\n>>\n>> Ramkumar Ramachandra (4):\n>>   Documentation: Add filter.<driver>.* to config\n>>   Documentation: Add diff.<driver>.* to config\n>>   Documentation: Allow custom diff tools to be specified in 'diff.tool'\n>>   Documentation: Minor language improvements to merge-config\n>>\n>>  Documentation/config.txt       |   72 ++++---------------------------\n>>  Documentation/diff-config.txt  |   91 ++++++++++++++++++++++++++++++++++++++++\n>>  Documentation/merge-config.txt |   38 ++++++++--------\n>>  3 files changed, 120 insertions(+), 81 deletions(-)\n>>  create mode 100644 Documentation/diff-config.txt\n>>\n> \n> Thanks for hanging in, looks good (minus the customs which Junio mentioned).\n> \n> Michael\n\n...oh well, that was meant to be a reply to the v5 cover letter... I\nguess I got \"lost in thread\" ;)\n\nM.\n"},{"id":"165360","messageId":"20110407161903.GA8392@kytes","threadId":"26957","inReplyTo":"4D9DA6AB.40100@drmicha.warpmail.net","subject":"Re: [PATCH 1/4] Documentation: Add filter.<driver>.* to config","fromName":"Ramkumar Ramachandra","fromEmail":"artagnon@gmail.com","sentAt":"2011-04-07T16:19:07Z","receivedAt":"2011-04-07T16:19:07Z","isPatch":true,"sender":{"key":"r@artagnon.com","avatar":"https://avatars.githubusercontent.com/u/37226?v=4"},"body":"Hi Michael,\n\nMichael J Gruber writes:\n> Ramkumar Ramachandra venit, vidit, dixit 06.04.2011 20:09:\n> > Junio C Hamano writes:\n> >> Ramkumar Ramachandra <artagnon@gmail.com> writes:\n> >>> I'm very sorry to have caused so much pain.  Yes, I can imagine how\n> >>> terrible it must be to review several iterations of a simple\n> >>> documentation patch.  Thank you for being so patient with me so far- I\n> >>> understand if you don't want to do this anymore.\n> >>>\n> >>> I do spend time proofreading patches before sending them out, but I'm\n> >>> clearly not very good at it.  In future, I'll either try rewriting\n> >>> entire paragraphs or simply refrain from writing documentation patches.\n> >>\n> >> I do not think that is the lesson you should learn from this exchange.  A\n> >> major part of Michael's complaint (which I think was justified) was that\n> >> he even made a suggestion that is ready to be cut-and-pasted, but your\n> >> reroll does not use the suggested phrasing _without_ explaining why it\n> >> doesn't.\n> >>\n> >> It is not limited to \"documentation patches\".  If you get a \"how about\n> >> doing it this way---isn't it cleaner?\" suggestion to your code patch, you\n> >> at least owe either \"yeah, that looks better---thanks, I've used it in\n> >> this reroll\" or \"no, because...; I've used the original\" to the person who\n> >> tried to help you, no?\n> > \n> > I completely agree -- all of Michael's suggestions were excellent, and\n> > I'd definitely owe him an explanation for not using something.  In\n> > this particular case, it was an honest mistake though- I meant to\n> > include Michael's version, but I'd rolled out the wrong commit after\n> > rebasing.\n> \n> Ram, all is well (explained) now, and please don't give up on\n> documentation patches. You see, it happened to me again and again that I\n> submitted something, and someone took over the initiative or the idea\n> and submitted something under his name. And that is completely OK (after\n> all I had signed off on my patch, it's part of the O in OSS) but\n> \"deprives\" the original submitter of the \"reward\" of having the commit\n> count incremented. And that is what I wanted to spare you by not\n> submitting my own version.\n\nCool, thanks for understanding and bearing with my slopiness :p\n\nYes, I strongly believe that we should spend time writing reviews,\neven if it's quicker to redo the series entirely* -- that's how we can\nget more contributors :)\n\n* This is often the case with inexperienced contributors\n\n-- Ram\n"}]}