python / python/devguide

Reviving / Carrying Forward PRs

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

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

topic-pull requests type-feature
主要言語
Python
スター
2.1k
フォーク
1k
平均マージ
2日 12時間
マージ済み PR(30日)
12

説明

The Problem: Abandoned PRs

I am wondering about whether it is helpful for contributors to help move forward pull requests where the original contributor seems to have lost momentum for whatever reason. For example, I found bpo-19217 and PR-41203. There had been a long discussion and extensive review on the PR, but the original contributor stopped just short of making some final changes needed for merging. Of course, open source contributors have no obligation to continue working on a pull request, and the review process can definitely be challenging. At the same time, I notice so much core developer time being sunk into pull requests that never land. Some for good reason, but others because the original contributor just can't keep following up.

When I came across this issue, I went ahead and merged the original contributor's changes into a fresh branch on my fork, and did the additional work needed to create a branch ready for merge and to close the bpo, but I stopped short of opening a pull request because I didn't know what the procedure was and I definitely didn't want to step on the original contributor's toes. My changes can be viewed here.

Anyway, I am wondering what we think about this situation. Is there a role for contributors to help push forward pull requests that have lost steam? How can we make sure that both committers are equally recognized for their contribution? Pesumably only one can end up in the commit log, otherwise there will be unstable commits in cpython:main. In an ideal world, this workflow wouldn't be necessary, but I notice that there is so much great work lingering in 80%-complete github pull requests. This also wastes a ton of core dev time, because they review things that don't end up landing when the original contributor can't keep following through.

Role of the Dev Guide

I think that the dev guide can help here by establishing guidelines and procedures for people to do this type of work. For example, this chapter of the dev guide could:

  • Establish a procedure for "passing the torch"
    • After n number of days of no response from the original contributor, it's fair game for another contributor to merge changes into their own branch and start carrying the issue forward
    • Or, after n number of days, a new contributor can request to take over with a comment on the bpo or PR. The original contributor has n additional days to respond, before it is ok for the new contributor to finish their work.
  • Include a tutorial for how to take over:
git remote add original-contributor git@github.com/<other-contributor>/cpython
git merge other/<bpo-####>
  • Explain how both contributors will receive credit.

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

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

はじめの一歩

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

調査の方向性

まず、issue で参照されている Dev Guide の章と、リンクされている bpo-19217 および PR-41203 の例を確認します。引き継ぎ手順、引き継ぎチュートリアル、コントリビューターのクレジットに関するガイダンスを、提案されている応答期間とともに文書化します。関連するガイドの内容でこのワークフローが明確に説明されれば完了です。

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

評価

技術スタック
git, github
領域
developer-experience, documentation
issue の種類
ドキュメント
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

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

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