abhinav / abhinav/git-spice

restack: Detect merges

Aperta
#314 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
area/git bug
Lingua principale
Go
Stelle
762
Fork
72
Merge medio
18h 24m
PR unite (30g)
28

Descrizione

Report from a user:

> Starting situation is master <= A <= B.
> 1. In the Github UI, I merge in A. Locally, I `git checkout master && git pull && git checkout B`.
> 2. While on B, I perform a `gs stack restack`. A and B both restack sucessfully. Looking at `git checkout A && git log`, I can see that the A branch points to the same commit as master.
> 3. `gs stack submit` dies on the A push failing. I'm pretty sure I just tried to force push master.
> 4. `gs branch submit` dies on not finding the base branch anymore.

The thing to do here is that `restack` operations should detect when the branch in question has been merged into its base branch.
If that's the case, it should (either by default or with a prompt), delete the branch in question, and restack the upstack into the base.

Separately, RE: this line:

> I'm pretty sure I just tried to force push master.

The user shared logs and fortunately that's not true. It was a push attempt to the merged branch (A), rejected because the local ref for that branch did not match the remote ref.

---

This should not be fixed until #331 is resolved.
Fixing this would break a workaround for #331 that relies on keeping merged branches around and just not submitting them.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.