Junio C Hamano <gitster@xxxxxxxxx> writes: > In any case, I've applied the series for an entirely different reason. > The patch is the most natural way to allow users of Porcelain to disable > textconv with the --no-textconv option, just like --no-ext-diff can be > used to disable the external diff. I imagine that web developers may want to use a textconv filter that replaces ">" with "\n>" on the HTML files their designer-colleagues throw in the source tree to make "git log -p" of the whole project easier to follow. When the developers would want to suggest improvements to what their designer-colleagues did, however, by running "git diff --stat -p" in their dirty work tree to produce a patch (like I just did just now, visible from the mnemonic prefixes below), they would want to disable textconv temporarily to get an appliable patch with --no-textconv option. Once we have --no-textconv, somebody would inevitably ask about its positive counterpart, --textconv option. Even though it might not make sense from patch applicability viewpoint, the option would allow the end user to explicitly ask for "git format-patch --textconv" and get a patch that can only be reviewed by humans but cannot be applied. Hence the attached update to the draft release notes to version 1.6.1 [Update #1]. You raised an intriguing possibility to use textconv in blame. It would also be useful if we allowed "git show --textconv $blob" to pass the blob via textconv filter and any other transformation controlled by the attributes mechanism.. When "git show" sees the above command line, it only knows the blob object name and not the path, so we may need to allow a new option to tell the command to pretend as if the content came from a path, perhaps with a syntax like: $ git show --attribute-path=a/b/c $blob $ git show --attribute-path=a/b/c --textconv $blob Note that I envision that the above two commands would produce different results. The former would behave as if $blob were recorded at path a/b/c and what would be checked out (i.e. usual crlf, ident, and smudge that are in effect for the path are applied) to the standard output. The latter would apply the textconv filter that would apply to what is recorded at the given path and show that. [Update #1] Documentation/RelNotes-1.6.1.txt | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git c/Documentation/RelNotes-1.6.1.txt w/Documentation/RelNotes-1.6.1.txt index 0405309..09bbcad 100644 --- c/Documentation/RelNotes-1.6.1.txt +++ w/Documentation/RelNotes-1.6.1.txt @@ -133,7 +133,8 @@ on. contents can be munged into human readable form and the difference between the results of the conversion can be viewed (obviously this cannot produce a patch that can be applied, so this is disabled in - format-patch among other things). + format-patch and plumbing, but if you really wanted to, you can enable + it by giving them --textconv command line option explicitly). * "--cached" option to "git diff has an easier to remember synonym "--staged", to ask "what is the difference between the given commit and the -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html