Re: [RFC] Interactive difftool
From: Ping Yin <hidden>
Date: 2016-06-15 22:46:29
On Fri, Mar 27, 2009 at 10:51 PM, David Aguilar [off-list ref] wrote:
On 0, Ping Yin [off-list ref] wrote:quoted
Before git-difftool goes to master, i want to propose a new feature to add to or replace the current behaviour of difftool. With current difftool, we can only see the diff one by one. However, sometimes what we want is to see the diff of selected files, or in a different order, just like what we can do in the gui. So here is what i propose $ git difftool --interactive [options] [1] diff.c | 10 +++++++++- [2] t/t4020-diff-external.sh | 8 ++++++++ Choose the file you want to see the diff of: 2 When the user types 2 and then <enter>, the external diff program is called Further more, instead of just type a number, a letter can be prepended to the number to represent different ways of diff. For example t2 (tool 2): see the diff for file 2 with the configured diff tool p2 (patch 2): see the diff for file 2 in the patch format What do you think? Ping YinThat would be pretty cool. I don't know about the merge-to-master timing and whether we'd want to include new features before the move. I guess most of the work would have to be done in git-difftool-helper.sh. I had a co-worker that asked for this exact feature just the other day (and ditto for mergetool). Patches are welcome if you have an idea for how it could work. Right now we get called indirectly by git-diff so I don't know if there's an easy way to hook into it like that. It might be a matter of changing git-difftool.perl so that it does more of the dispatching itself.
We can just change git-difftool.perl The easiest way is first parsing the output of git diff --stat, adding the number at the beginning, for example [1] diff.c | 10 +++++++++- [2] t/t4020-diff-external.sh | 8 ++++++++ When the user types a number, git-difftool-helper is launched to show the diff for the corresponding file.