git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [Bug] Stashing during merge loses MERGING state

From
Elijah Newren <newren@gmail.com>
Date
Mar 12, 2021, 07:04 UTC
Message-ID
<CABPp-BERNcL-vx5eZ__Vc6cO2a3Tx4f+HzRPKenERk6mZi7ZDg@mail.gmail.com>
In-Reply-To
<xmqq5z1wc389.fsf@gitster.g>
On Thu, Mar 11, 2021 at 10:15 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 31 quoted lines
>
> Phil Hord <phil.hord@gmail.com> writes:
>
> > On Thu, Mar 11, 2021 at 12:45 PM Tassilo Horn <tsdh@gnu.org> wrote:
> >> >> Or that popping the stash again would also restore the MERGING state.
> >> >
> >> > This would make more sense: the stash records that part of the state,
> >> > and then we make it available again later when the stash is applied.
> >> > However, that feature doesn't exist yet.
> >>
> >> Too bad.
> >
> > Consider also what happens when `git stash apply` results in a merge
> > conflict because of differences between your current index and the one
> > you had when you originally saved the stash.  This results in the
> > usual merge conflict markers that then need to be cleaned up.
>
> I agree with you that allowing a stash while a merge is in progress
> will introduce many unpleasant corner cases the users wouldn't want
> to deal with.  We certainly do prevent "git stash push" from running
> when the index is still unmerged (which is a sign that a mergy
> operation (like pull, rebase, merge, am -3, cherry-pick and revert
> that stops due to a conflict in the middle) is in progress), but
> once the end user resolves the conflicts in the index (either
> manually, or having the rerere.autoupdate feature in effect), such a
> sign of mergy operation still in progress that "git stash" currently
> uses will be gone.  We should teach "git stash push" to pay
> attention to other such signs like MERGE_HEAD etc. and stop before
> creating a stash (and also do the same to "git stash pop/apply").
>
> THanks.

I should have read the rest of the emails before responding. Once again, you manage to say roughly what I was thinking, but do so both more concisely and more eloquently.

Previous: Junio C HamanoNext: Chris Torek
Message 6 of 9 in “[Bug] Stashing during merge loses MERGING state”
  1. Tassilo HornMar 11, 2021
  2. Jeff KingMar 11, 2021
  3. Tassilo HornMar 11, 2021
  4. Phil HordMar 12, 2021
  5. Junio C HamanoMar 12, 2021
  6. Elijah NewrenMar 12, 2021
  7. Chris TorekMar 12, 2021
  8. Elijah NewrenMar 12, 2021
  9. Elijah NewrenMar 12, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.