git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Specify resume point with git difftool?
@ 2020-11-16 16:45 Ryan Zoeller
  2020-11-16 19:26 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Ryan Zoeller @ 2020-11-16 16:45 UTC (permalink / raw)
  To: git

Hi everyone,

I use git quite a bit while working with some binary files which require a custom diff tool. I'll typically review changes with a command like

git difftool --tool toolname main... -- *.extension

Frequently I'll finish reviewing a file and close the diffing program, only to realize that I wanted to look at part of the diff again -- e.g. after viewing a few other files and wanting some additional context.

Typically I end up killing the current difftool prompt, rewriting my difftool command to specify the file I want to re-review, and upon finishing that re-review running the original difftool command. However upon running the original command I find myself just answering 'n' to all of the prompts until I get back to where I was, which can be a bit painful.

Is there a way to tell git "resume the difftool process at file n"? The difftool prompt counts which file I'm on ("Viewing (10/20): 'filename'"), so it seems like I ought to be able to jump ahead by specifying a starting index (or range to view).

Thanks,
Ryan Zoeller


^ permalink raw reply	[flat|nested] 3+ messages in thread
* Re: Specify resume point with git difftool?
@ 2021-02-07 12:57 胡哲宁
  0 siblings, 0 replies; 3+ messages in thread
From: 胡哲宁 @ 2021-02-07 12:57 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Git List, rtzoeller

Hi,Junio,

I try to reslove this issue,but there may be a little change
in my approach:

>  - At the beginning, see if $GIT_DIR/difftool-skip-to file exists.
>
>    - If exists, read its contents.
>
Which have been read now we called it "SAVE_POINT_NUM".

And then,divided into two situations:
If the index of the file($GIT_DIFF_PATH_COUNTER)we are
viewing is 1,if $SAVE_POINT_NUM larger than
$GIT_DIFF_PATH_COUNTER, ask users if they
want to skip to last time save point $SAVE_POINT_NUM:
if the answer is no,we continue show difftool of first file;
if the answer is yes,we `return`.
If the index of the file we are viewing is large than 1,we just check the
if $SAVE_POINT_NUM large than $GIT_DIFF_PATH_COUNTER,if true,
`return` ;if false,we continue show difftool of files.

And everytime before we view the diff,we save the
$GIT_DIFF_PATH_COUNTER to $GIT_DIR/difftool-skip-to.

>    - Remove that file (we are at the 15th path and done skipping).
finally,when success viewed last file diff,we delete the
`$GIT_DIR/difftool-skip-to`.
>
>  - Update the "Viewing .../ Launch?" prompt and offer another choice
>    "Skip to?".
>
>  - Update the if/then/fi statement that processes the answer to the
>    prompt (right now, it takes n as a sign to skip the file).  When
>    the user says "skip to 15th", create $GIT_DIR/difftool-skip-to
>    file and record "15" in it and 'return'.
When we were at an index in the middle, I didn't think there was any
good way to go back to the previous index, so I didn't deal with random jumping.

After all, this question focuses on the save point of the last exit.

I have a question: If the user has two different `git difftool`
(e.g. first time user call `git difftool HEAD~` and exits midway,
second time call `git difftool HEAD~2`, the "GIT_DIR/difftool-skip-to "
still exists), I did not do the consistency check for the two.

But this is not a big hindrance, because the user can choose not to
skip before viewing the first file.

My patch will send soon.
If there are errors or omissions in my thinking,please tell me,thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-07 12:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-16 16:45 Specify resume point with git difftool? Ryan Zoeller
2020-11-16 19:26 ` Junio C Hamano
2021-02-07 12:57 胡哲宁

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).