On Wed, May 7, 2014 at 9:38 PM, Nathan Collins <nathan.collins@xxxxxxxxx> wrote: > On Wed, May 7, 2014 at 4:39 PM, Nathan Collins <nathan.collins@xxxxxxxxx> wrote: >> On Wed, May 7, 2014 at 11:42 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >>> Nathan Collins <nathan.collins@xxxxxxxxx> writes: >> >>>> For (2), the solution may be to add a separate >>>> 'diff.add-clickable-paths' option (probably there is a better name? >>>> 'diff.add-copyable-paths'? ...),... >>>> ... >>>> Concretely, if 'diff.add-clickable-paths' is set, then instead of e.g. >>>> >>>> diff --git a/src/Data/Function/Decorator/Memoizer/Unsafe.hs >>>> b/src/Data/Function/Decorator/Memoizer >>>> index 3ef17da..a0586d3 100644 >>>> --- a/src/Data/Function/Decorator/Memoizer/Unsafe.hs >>>> +++ b/src/Data/Function/Decorator/Memoizer/Unsafe.hs >>> >>> If you do something along that line, perhaps >>> >>> Index: src/Data/Function/Decorator/Memoizer/Unsafe.hs >>> diff --git a/src/Data/Function/Decorator/Memoizer/Unsafe.hs ... >>> index 3ef17da..a0586d3 100644 >>> --- a/src/Data/Function/Decorator/Memoizer/Unsafe.hs >>> +++ b/src/Data/Function/Decorator/Memoizer/Unsafe.hs >>> >>> to imitate what "cvs diff" does may be more familar to people. >>> >>> What would you propose to make clickable in a renaming diff, though? >> >> Your 'Index' header looks good, and I would expect a renaming diff to >> have something like >> >> Index: foo -> bar >> >> as in 'git status', but I just realized that a "clickable paths" >> option already exists in some sense! There is a '--patch-with-raw' >> option (which is "short" for '--patch' and '--raw', hahaha) which >> inserts clickable file names in the patch, above each diff. > > Or not: I stupidly only tested this with a single file modified: it > turns out that all the clickable file names appear at the top of the > patch, not as one file name above each corresponding diff as I > claimed. The following may be a non-option, since presumably many tools depend on the current Git patch format. The paths in the "extended header lines" in Git patches are clickable by default, and respect the '--relative' option. So, adding a path to the extended header lines that don't already have one would solve the "clickable paths" problem. E.g. index <hash>..<hash> <mode> becomes index <hash>..<hash> <mode> <path> The 'man git-diff' description of extended header lines in the "Generating Patches with -p" section: 2. It is followed by one or more extended header lines: old mode <mode> new mode <mode> deleted file mode <mode> new file mode <mode> copy from <path> copy to <path> rename from <path> rename to <path> similarity index <number> dissimilarity index <number> index <hash>..<hash> <mode> File modes are printed as 6-digit octal numbers including the file type and file permission bits. Path names in extended headers do not include the a/ and b/ prefixes. Cheers, -nathan -- 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