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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.