On Wed, Jun 10, 2015 at 03:19:41PM -0300, bär wrote: > On Sun, Jun 7, 2015 at 9:40 AM, Jeff King <peff@xxxxxxxx> wrote: > > Hrm. The new protection in v2.4.2 is meant to prevent you from losing > > your index state during step 4 when we run into a conflict. But here you > > know something that git doesn't: that we just created the stash based on > > this same state, so it should apply cleanly. > > > It is strange that `git stash --keep-index && git stash pop` while > having something in the index, fails with a "Cannot apply stash: Your > index contains uncommitted changes." error, even if we have a > `--force` param it find it awkward that one needs to force > applying/pop'ing even though the stash was created from the same > snapshot where the stash is being merged with. > > I understand the original issue, but at least it was expected, when > you stash save/pop/apply, you should know what you are doing anyways. Yeah, I would expect "stash && pop" to work in general. But I find it puzzling that it does not always with "-k" (this is with v2.3.x): $ git init -q $ echo head >file && git add file && git commit -qm head $ echo index >file && git add file $ echo tree >file $ git stash --keep-index && git stash pop Saved working directory and index state WIP on master: 74f6d33 head HEAD is now at 74f6d33 head Auto-merging file CONFLICT (content): Merge conflict in file So I am trying to figure out what the use case here is. Clearly the above is a toy case, but why is "stash -k" followed by a quick pop useful in general? Certainly I use "stash" (without "-k") and a quick pop all the time, and I think that is what stash was designed for. The best use case I can think of is Jonathan's original: to see only the staged content in the working tree, and then restore the original state. But stash does not currently work very well for that, as shown above. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html