python / python/cherry-picker

Problems with pushing into remote repository

オープン
#121 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
Python
スター
65
フォーク
47
平均マージ
5分
マージ済み PR(30日)
1

説明

Something gone wrong, so I decided to recreate the backport. But the second attempt failed. As well as all following. Here is the result of the last failure.:

$ cherry_picker --continue
🐍 🍒 ⛏
Failed to push to origin ☹
To github.com:serhiy-storchaka/cpython.git
 ! [rejected]              backport-8f60298-3.11 -> backport-8f60298-3.11 (stale info)
error: не вдалося надіслати деякі посилання в «github.com:serhiy-storchaka/cpython.git»

branch backport-8f60298-3.11 has been deleted.

Backport PR:
...

I tried to remove the branch in my GitHub clone, but it did not help until I pulled from it into my local clone.

It seems, that when something gone wrong, cherry_picker pushed the broken branch into my remote repository on GitHub and removed it from the local repository. In the following attempts it failed to push into the remote repository (either because it already existed, or because it was removed, but it did not know about this), but removed the branch from the local repository anyway.

I expect from it to use more forced method to push the branch into the remote repository (if it is already not used), and if the operation fails due to stale info, try to pull from the remote repository and repeat.

And of course it should not just remove the branch from the local repository. Instead it should keep it until you fix the error and continue with cherry_picker --continue, or give up and cancel it with cherry_picker --abort.

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

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、報告された cherry_picker --continue フローを実行し、バックポート操作におけるブランチの push とクリーンアップの処理を確認します。push に失敗してもローカルブランチが保持され、古いリモート情報が適切に再試行され、--continue--abort が引き続き使用できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
cli
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

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

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