私はこの状況を2つの基本的な問題、おそらく3つの問題があると解釈します。
- 望ましくないSDKのアップグレードにより、ソースに組み込まれ、製品に悪影響を及ぼす可能性がありました。
- 質問から:不要なアップグレードを実行した貢献者は、アップグレードしないという以前の具体的な決定を知りませんでした。
私の意見では、これらの最初のものが最も深刻です。望ましくないSDKのアップグレードがコードに組み込まれる場合、他の問題も同様です。
アップグレードを検出すると失敗する単体テストケースを追加することを誰かが提案しました。アップグレードの発生を防ぐことはできますが、これは時間の経過とともに溶岩の流れにつながる危険な道だと思います。将来のある時点で、SDKがアップグレードされて、新しい機能やバグ修正が導入されるか、古いバージョンがサポートされなくなるため、避けられないようです。そのような単体テストが失敗したときに発生する、ひっかき傷、おそらく議論さえ想像してみてください。
最も一般的な解決策は、開発プロセスを調整することだと思います。gitの場合、プルリクエストプロセスを使用します。 Subversionおよび古いツールの場合は、branchsとdiffを使用します。しかし、持っているいくつかの上級開発者が問題のこれらの種類をキャッチすることができますプロセスの前に、彼らはコードベースにそれを作成し、他の開発者に影響を及ぼします。
プルリクエストプロセスがあなたの状況で使用されていて、各プルリクエストが狭く具体的である場合、多くの時間は無駄にならなかっただろう。SDKをアップグレードするためのプルリクエストが送信され、アップグレードが不要であることをコメントして拒否されました。誰も影響を受けなかったので、SDKのアップグレードを元に戻す必要はありません。
しかし、元の質問に直接答えるために、私はすべての開発者がこのような通知のためにコードの改訂履歴全体、リリースノートなどを完全に読むことを期待することは貴重な時間の浪費であることに同意します。チームの短い電子メールの何が問題になっていますか?
考えられる3番目の問題:そもそもアップグレードが望まれないのはなぜですか?明らかに、少なくとも1人の開発者がアップグレードが良いことだと考えていました。アップグレードを遅らせる理由はたくさんありますが、悪い理由もたくさんあります。溶岩流(不必要な後方互換性コード)およびカーゴカルト(「それをアップグレードすることはできませんが、理由はわかりません」)アンチパターンを避けるように注意してください!