Re: Feature request - discard hunk in add --patch mode
From: Mina Almasry <hidden>
Date: 2016-06-15 22:54:29
On 12-08-15 02:46 PM, Junio C Hamano wrote:
Junio C Hamano [off-list ref] writes:quoted
Thomas Rast [off-list ref] writes:quoted
This has come up before, and actually led to the introduction of 'checkout -p' and 'reset -p': http://thread.gmane.org/gmane.comp.version-control.git/123854That is a blast from the past. Why is saying "git checkout ." too much work, after "add -p" that you excluded the debugging cruft?Please forget this question. A better way in the form of "stash -p" was suggested in the old thread to get rid of debug cruft in the tree before an "add -p" session (or during a series of "add -p" sessions). So is this still an issue?
I read most of the thread, and I do think it still is. Here are my 2 cents:
1. The alternative commands aren't nearly as time efficient:
- git checkout . is fast and awesome, but you can't use it if, for
example, you have to maintain a dirty working tree
- git (stash|reset|checkout) -p make you go through (all|most) of
the hunks you have to hunt down those 2 lines that say "echo
'This line is runningantoeuhaoeuaoae'"
2. All of the safety concerns can be alleviated with the right
interface. I am glad the u option mentioned in the thread did not go
through since I agree it is not ideal. However, if the command is:
(a) something with a '!', then no one will hit it by mistake, and
(b) the prompt makes it clear that work is lost
then I think it would be fine
The advantages of a command like this are pretty huge IMO. I can see
this being a big time saver.
How about adding this to the git add -p prompt:
r! - remove this hunk. The hunk is discarded from the working tree,
and is irrevocably lost.