abhinav / abhinav/git-spice

restack: Detect merges

Offen
#314 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
area/git bug
Vorherrschende Sprache
Go
Sterne
762
Forks
72
Ø Merge
18 Std. 24 Min.
Gemergte PRs (30 T.)
28

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.