Re: [BUG} stash show does not show untracked files stashed (reposted)

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

 



On Thu, Aug 29, 2019 at 01:33:36PM -0400, randall.s.becker@xxxxxxxxxx wrote:

> I don't know whether this is new behaviour following changes to stash, but
> here goes.
> 
> Suppose I have files a,b,c,d modified, but only file d is in the index.
> After stash push  (or save) --include-untracked, stash show only displays
> file d. A subsequent pop will restore files a,b,c,d. So functionally push
> and pop are fine, but stash show appears to ignores files in the stash. The
> git log below shows a previous commit (dce2e3e) to the WIP stash (ab0834c)
> that does contain the untracked files, and git diff is happy to show the
> contents when using the ref directly. It is just counterintuitive for stash
> show not to display all entries previously pushed. I would have expected
> symmetry. This is not new.

Right, this is expected but unfortunate. The same problem occurs with
stashed changes to the index. The fundamental issue is that a stash is
not representing a single diff, but rather up to three diffs:

  - changes to the working tree

  - changes to the index

  - a set of untracked files

each of which is stored as a separate commit.

This has been discussed off and on. A while ago I suggested a possible
output format that shows all three:

  https://public-inbox.org/git/20170317141417.g2oenl67k74nlqrq@xxxxxxxxxxxxxxxxxxxxx/

The patch there is useless now, as stash has been rewritten in C (though
that probably means it would be possible to make it less hacky). The
main obstacle IMHO is whether we're comfortable changing the output away
from a single diff. I could imagine somebody scripting around stash,
though if the output remained the same for stashes without index changes
or untracked files, that makes problems less likely.

-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