From: Jeff King <peff@peff.net>
To: bär <crashcookie@gmail.com>
Cc: Jonathan Kamens <jkamens@quantopian.com>, Git List <git@vger.kernel.org>
Subject: Re: [PATCH 3/3] stash: require a clean index to apply
Date: Wed, 10 Jun 2015 14:56:36 -0400 [thread overview]
Message-ID: <20150610185635.GA22800@peff.net> (raw)
In-Reply-To: <CADQvvWWpjZoXt7=8yAEt110pBTNtBfg7XfPOTbJRfPUH=J3OKw@mail.gmail.com>
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@peff.net> 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
next prev parent reply other threads:[~2015-06-10 18:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-05 0:43 [PATCH 3/3] stash: require a clean index to apply Jonathan Kamens
2015-06-07 12:40 ` Jeff King
2015-06-07 12:47 ` Jeff King
2015-06-10 18:19 ` bär
2015-06-10 18:56 ` Jeff King [this message]
2015-06-10 19:16 ` Junio C Hamano
2015-06-10 19:27 ` Jeff King
2015-06-10 21:54 ` bär
2015-06-15 17:42 ` Junio C Hamano
2015-06-15 18:27 ` [PATCH] Revert "stash: require a clean index to apply" Jeff King
2015-06-15 20:11 ` Junio C Hamano
2015-06-25 21:51 ` Jonathan Kamens
[not found] ` <f06e573d-02e3-47e9-85d8-3bb6551d72f5.maildroid@localhost>
2015-06-26 0:27 ` Jeff King
2015-06-26 1:12 ` Jonathan Kamens
2015-06-26 4:03 ` Jeff King
2015-06-26 4:15 ` Junio C Hamano
-- strict thread matches above, loose matches on Subject: below --
2015-04-22 19:29 How do I resolve conflict after popping stash without adding the file to index? Jeff King
2015-04-22 19:31 ` [PATCH 3/3] stash: require a clean index to apply Jeff King
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150610185635.GA22800@peff.net \
--to=peff@peff.net \
--cc=crashcookie@gmail.com \
--cc=git@vger.kernel.org \
--cc=jkamens@quantopian.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).