1

ここでは、次の状況が発生します。

  • ユーザーが(トランク上で)コミットを開始します。
  • 彼はコミットメッセージに特別なキーワードを追加して、この変更がブランチで自動的に行われるべきであることを通知します。

それを実装するための良い解決策は何でしょうか?私は次のオプションを見ます(しかし、あなたが最も良いと思うものをここにしたいと思います):

  • バックグラウンドジョブのすべてのコミットを確認し、別のコミットを開始して、関連する変更をブランチにコピーします。
  • 直接コミット後に変更をトリガーするpost-commit-hookを実装します。

ここであなたの意見は何ですか?さらに適切な他の解決策はありますか?

4

1 に答える 1

2
  1. Subversionでは、あるサブツリーからある既存のサブツリーへのコピーリビジョンがマージされます(-c、単一リビジョンの場合は「cherry-pickmerge」)
  2. マージは、ワーキングコピーでのみ実行できます

pp。1と2の条件は、私たちに予備的なレシピを与えます:

コミット後のフックは次のことを行う必要があります。

  • アクションを必要とするコミットを検出します(それ以外の場合は何もしません)
  • ローカル(サーバー用)WCへのCD
  • svn merge -c... URL-OF-TRUNKおそらく、競合を自動解決するために、--acceptオプションを使用して実行します
  • ブランチにコミットする

@mliebeltからの追加:

  • 最善の解決策は、そのタスクを自動化するスクリプトを実装することですが、クライアントでそのスクリプトを手動で実行することです。
  • 次に、構成マネージャー(または別の知識のあるユーザー)は、発生する可能性のある競合を手動で明確にする必要があります。最良の場合、適切なログメッセージを使用して変更をコミットする必要があります。
于 2013-02-26T15:07:34.497 に答える