web-dev-qa-db-ja.com

誰かのプロジェクト全体を誤ってオーバーホールしました。プルリクエストの受け入れ可能な方法はありますか?

便利な中心的な機能を備えたgithub上の素晴らしいプロジェクトを見つけましたが、これはエラー処理、ロギング、構成、およびセットアップの「磨き」において大雑把です。このプロジェクトは5年間手つかずで、わずか数百行のコードです。それでも、かなりの数のウォッチャーと少数のフォークに注目を集めるのに十分便利です。

私の使用には特定の追加が必要でしたが、その前にいくつかのクリーンアップを行いました。その後、少しエンジニアに夢中になり、1週間かけてロギングシステム、大量のロギング、自動セットアップ、コードから除外された構成、および外部構成ファイル(およびそれらを読み取るコード)に追加することになりました。それに加えて、私が見つけたばかりのいくつかのバグ修正。

私の変更はすべて合理的/良いものであり、聴衆が使用できるようにする必要があるものだと思います。しかし、多くのコミットがあり、レポが最初に持っていたのとほぼ同じ数です(この一般を維持するための数は避けます)。さらに、git blameは、この(小さい!)コードベースのほぼすべての行に触れたことを示しています。私はプロジェクトの管理を求めているのではなく、自分がやったことに対する信用さえも求めていません。しかし、選択肢が与えられたので、私の変更をマージして、誰もが私の未知のgithubのフォークに隠れることなく、それらから利益を得ることができるようにしたいと思います。

これまでプルリクエストを送信したことはありませんが、プルリクエストは小さく、簡単に確認できるはずです。しかし、ここで私は去り、大きな変革を行いました。

私はずっと注意深く履歴を記録する傾向があったので、私のコミットはとてもクリーンです。しかし、それらの多くは必然的にそれ自体の上に構築されるため、それらを複数のブランチ/プル要求に分離することは困難です。たとえば、構成の外部化はいくつかの準備的なクリーンアップに基づいて構築されており、セットアップはそれらの構成を設定するために部分的に存在します。ロギングはセットアップで作成された外部構成などによって有効化および構成されます。この巨大な錠剤をより美味しくするために私ができることをしてください、それがどうなるか分かりません。私はいくつかのコミットを分割することができましたが、大きな見直しはまだ大きなものです。

では、誰かが誤って誰かのプロジェクトをオーバーホールした場合、どうすればよいでしょうか?

私はこれを行わないように自分のレッスンを学び、自分の変更を自分のフォークに保持する必要がありますか?プルリクエストをして何が起こるか見てみるべきですか?説明で自分自身を説明する一連の単語を費やす必要がありますか?特定の方法で提示する必要がありますか?

12
user1169420

あなたが書いたようにプロジェクトが「5年間手つかず」だった場合、誰かがコメントのタイプミスを修正したか、完全に書き直したかに関係なく、プルリクエストは受け入れられない可能性があります。プロジェクトはおそらく元の作者によって断念されました。

私が最初に試みることは、作者に連絡して、彼らがそれについてどう思うかを彼らに尋ねることです。彼らが妥当な時間内に応答しない場合は、単にフォークを公開し(ライセンスでこれが許可されていると仮定)、なぜ改善点の概要を追加し、何が起こるかを確認しませんか?

あなたの改善が彼らにとって有用であると他の人が考えている場合、彼らはオリジナルのプロジェクトを支持して開始プロジェクトとしてあなたのフォークを使用することを好むかもしれません。元の作者が元のプロジェクトを再度復活させる場合でも、元のプロジェクトとフォークを互いにマージする必要があるかどうか、誰が将来のメンテナーになるかは、どちらでも決定できます。

元の作成者がアクティブなメンテナンスを実行する兆候を示さない場合は、元のプロジェクトからフォークを完全に切り離すことを検討してください。この場合、独自の独立したリポジトリをセットアップしてください。オリジナルの作者にクレジットを与えることを忘れないでください、そして、これがプロジェクトのライセンスによってカバーされることを確認してください。

30
Doc Brown