私は同僚にこれを求めています。彼がオープンソースプロジェクトのパッチを持っていて、それをプロジェクトの管理者に送信するだけの方が良いと思いますが、彼はすぐに解決策を望んでおり、私はしたくありません。外部リポジトリを変換します。
それで、ファイルをチェックアウトしたりリポジトリを更新したりするときに、外部リポジトリ内のファイルにパッチを適用するようにSVNを設定する方法はありますか?
私は同僚にこれを求めています。彼がオープンソースプロジェクトのパッチを持っていて、それをプロジェクトの管理者に送信するだけの方が良いと思いますが、彼はすぐに解決策を望んでおり、私はしたくありません。外部リポジトリを変換します。
それで、ファイルをチェックアウトしたりリポジトリを更新したりするときに、外部リポジトリ内のファイルにパッチを適用するようにSVNを設定する方法はありますか?
いいえ。チェックアウトまたは更新時にフックを実行することはできません...そのため、svn はパッチを直接適用できません。
svn:external を内部リポジトリに変換したくないとおっしゃっていましたが、私はそのルートに行く可能性が最も高いです。レッド ブックには、ベンダー ブランチに関するしっかりした記事があります。同僚が提出するパッチがライブラリの次のリリースに含まれることを願っています。そのため、その新しいリリースに更新してパッチを再適用するコストが発生することはありません。その時点で svn:external に戻ることができます。
それがうまくいかない場合は、ビルド スクリプトでパッチを適用するか、ライブラリにパッチを適用してビルドし、それをアーティファクト リポジトリ (nexus または archiva) に公開して、チームにそこから依存関係を解決してもらうことを考えてください。