David Aguilar [off-list ref] writes:
What if instead of global state, maybe the user could specify a path
that difftool could skip forward to? For example, we could teach
difftool to resume by telling it where we last left off:
git difftool --resume-from=foo/bar099.txt
Then we don't need the global counter state file?
Does it have to be the second and subsequent invocation to pass the
new "resume-from" option? As we do not have "global" state, I would
presume that we do not even know if it is the first invocation, so
perhaps a better name would be "--start-from=$pathname"?
Finally, I'm going to plug what I believe to be the right tool for the
job here. Have you tried git cola?[1] Difftool is tightly
integrated, and the UI is such that you can trivially choose any of
the modified/staged files and difftool them by using the Ctrl-d
hotkey.
https://github.com/git-cola/git-cola/
Cola is purpose-built for driving difftool, and for interactive
staging, so not mentioning it in the context of wanting a better UI
for difftool would be a disservice to difftool users.
;-)
Junio C Hamano [off-list ref] 于2021年2月9日周二 上午7:34写道:
David Aguilar [off-list ref] writes:
quoted
What if instead of global state, maybe the user could specify a path
that difftool could skip forward to? For example, we could teach
difftool to resume by telling it where we last left off:
git difftool --resume-from=foo/bar099.txt
Then we don't need the global counter state file?
Does it have to be the second and subsequent invocation to pass the
new "resume-from" option? As we do not have "global" state, I would
presume that we do not even know if it is the first invocation, so
perhaps a better name would be "--start-from=$pathname"?
Thank you for your thinking, I agree with your point of view.
As you said before: an accurate file name may be more suitable
for users than `possible last file`.
However, without the support of the global `difftool-save-point`,
it may not be possible to know the last exit point of the user.
Even if the global state is allowed, it may need to do more work
to avoid the competition for the global state under multiple
processes.
So "--start-from=$pathname" is more suitable to provide users
with a way to quickly index to specified files.
Then I shift the front and start thinking about how to realize it! :)
quoted
Finally, I'm going to plug what I believe to be the right tool for the
job here. Have you tried git cola?[1] Difftool is tightly
integrated, and the UI is such that you can trivially choose any of
the modified/staged files and difftool them by using the Ctrl-d
hotkey.
https://github.com/git-cola/git-cola/
Cola is purpose-built for driving difftool, and for interactive
staging, so not mentioning it in the context of wanting a better UI
for difftool would be a disservice to difftool users.
;-)
Thanks again!