Re: Behaviour of 'git stash show' when a stash has untracked files

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 21, 2017 at 10:23:36AM +0900, Junio C Hamano wrote:

> Jeff King <peff@xxxxxxxx> writes:
> 
> > I sketched out a possible solution in:
> >
> >   https://public-inbox.org/git/20170317141417.g2oenl67k74nlqrq@xxxxxxxxxxxxxxxxxxxxx/
> >
> > though I share your concerns over whether people would be annoyed to see
> > the existing "stash show" output changed.
> 
> Forgot about that one.  I sometimes do "stash show -p | apply", so
> changing what is included without any option would be annoying, and
> not having an option to restore the original behaviour would be
> doubly irritating.

I think it would mostly Just Work for your case. git-apply should ignore
the subject cruft at the top of the patch. And if you didn't create a
stash with "-u" or with bits in the index, then those would be absent
from the diff.

And if you _did_ create such a stash, I actually suspect that "apply"
barfing on the resulting patch may be a better outcome than silently
ignoring the changes.

I dunno. I do not use either of those features ("-u" or stashing the
index state) myself. But I have always been bothered how the saved state
is a bit hidden from the user. It seems like a recipe for user confusion
when they save something with "git stash" but then "stash show" doesn't
even mention it.

> Perhaps "stash show [--[untracked|index|worktree]]" to show only
> one, without the "==> I am this variant <==" label, would be
> workable, and with no option we would do --worktree that is the
> traditional output.
> 
> In addition "stash show --all" could be the output in your earlier
> patch.  I like the way it uses the '.' pathspec to squelch the
> entire thing when there is no change ;-)

Those all seem like sane interface proposals. As I said above, I have a
vague feeling that the default _ought_ to tell about everything. But I
don't care all that much myself, and I agree that we should avoid
creating headaches for existing users (it's just not clear to me how big
the headaches would be).

I guess the nuclear option there is introducing "git stash info" or
something, and marking "git stash show" as an alias for "git stash info
--worktree". It is too bad, though, as "show" is really the perfect
name.

Anyway. I don't have plans to work on this anytime soon, but I'd be
happy to review if anybody picked up the topic.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux