Re: `git stash pop` UX Problem
- From
- Omar Othman <omar.othman@booking.com>
- Date
- Feb 26, 2014, 07:28 UTC
- Message-ID
- <530D97BA.1080107@booking.com>
- In-Reply-To
- <vpqeh2r43kx.fsf@anie.imag.fr>
Show 11 quoted lines
>> [omar_othman main (trunk|MERGING*)]$ git add path/to/file.txt >> [omar_othman main (trunk*)]$ >> >> Note how the status message has changed to show that git is now happy. >> It is at that moment that the stash reference should be dropped > Dropping the stash on a "git add" operation would be really, really > weird... > >> (or the user (somehow) is notified to do that herself if desired), >> because this means that the popping operation has succeeded. > But how would you expect to "be notified"?
Answering the last question, your previous comments are fine with me:
Show 30 quoted lines
>> If there's any change that should be made it should be purely >> providing more detailed instructions to the user about how to deal >> with it. > Yes, there may be room for improvement, but that does not seem so easy. > Today, we have: > > $ git stash pop > Auto-merging foo.txt > CONFLICT (content): Merge conflict in foo.txt > > $ git status > On branch master > Unmerged paths: > (use "git reset HEAD <file>..." to unstage) > (use "git add <file>..." to mark resolution) > > both modified: foo.txt > > => The advices shown here are OK. Then: > > $ git add foo.txt > $ git status > On branch master > Changes to be committed: > (use "git reset HEAD <file>..." to unstage) > > modified: foo.txt > > => here, "git status" could have hinted the user "you may now run 'git > stash drop' if you are satisfied with your merge".
Though I don't know why you think this is important:
> Now, the real question is: when would Git stop showing this advice. I > don't see a real way to answer this, and I'd rather avoid doing just a > guess.
If it is really annoying for the user, we can just have a configuration parameter to switch this message on/off. I don't know whether git has such customizations (in general) currently.
This is very useful (maybe we can agree on wording later):
Show 11 quoted lines
> One easy thing to do OTOH would be to show a hint at the end of "git > stash pop"'s output, like > > $ git stash pop > Auto-merging foo.txt > CONFLICT (content): Merge conflict in foo.txt > 'stash pop' failed. Please resolve the conflicts manually. The stash > was not dropped in case you need to restart the operation. When you are > done resolving the merge, you may run the following to drop the stash reference: > > git stash drop