abhinav / abhinav/git-spice

restack: Detect merges

オープン
#314 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る
area/git bug
主要言語
Go
スター
762
フォーク
72
平均マージ
18時間 24分
マージ済み PR(30日)
28

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。