TortoiseSVN のような SVN クライアントを使用している場合、通常のマージでmergeinfoは、ルート フォルダーのフォルダー プロパティとして自動的に更新され、ファイルのリストをコミットする際にプロパティが変更されたフォルダーがリストされます。
これがコミットに対して自動的に行われない場合、TortoiseSVN クライアントを使用している場合は、手順に従って手動で行うこともできます (root親mytaskとして、現在のタスク ブランチsubtaskとして、現在のブランチから既にマージされたバック ブランチとして、programsおよび各ブランチのコード フォルダー):
programsブランチの作業コピーのフォルダを右クリックしmytask、オプションを選択しますTortoiseSVN-->Properties。
以前に記録したことがある場合は、新しいウィンドウに次のような値を持つmergeinfoプロパティが一覧表示されます。svn:mergeinfo
ルート/プログラム:1-489
ルート/タスク/mytask/タスク/サブタスク/プログラム:380-410
その後、次の手順を実行できます。
a) svn:mergeinfo アイテムを選択して、ウィンドウで [編集] --> [詳細設定] オプションを選択し、コミットする mergeinfo を更新して [OK] をクリックします。
新しいウィンドウで、以前の がない場合はmergeinfo、次の手順に進むことができます。
a) オプションを選択しますNew-->Advanced。
b)svn:mergeinfoドロップダウン リストから選択しmergeinfo、値のテキスト ボックスに適切な値を追加して保存します。
- フォルダーをクリックしてSVNコミットを実行すると、ファイル内のフォルダー
programsがリストprogramsされ、プロパティの変更のみでコミットされ、コミットできます。
一方で
親から作業コピーへのマージ中にマージされたファイルのみをコミットし、ローカルで変更された他のファイルをコミットしないようにする場合、これを直接行う方法はありません。間接的な方法は、タスク ブランチ ( ) の 2 つの別々の作業コピー (copy1 と copy2 としましょう) を保持mytaskし、次の手順を実行することです。
copy1ローカルのすべての変更が行われているので、しばらくそれを脇に置いておくことができます
- SVN
copy2は、ブランチの新しい作業コピーをチェックアウトします。
- 親からの変更をマージして
copy2コミットします。これにより、マージされた変更のみが必要なすべてのものとともにサーバーにコミットされますmergeinfo。
- 次に、に移動し
copy1、SVN 更新を実行すると、サーバーからこの作業コピーへの新しいマージされた変更が取得されます。(マージ中に更新され、ローカルの変更中にも変更されたファイルがある場合、この SVN の更新中に競合します)。競合を解決すると、ローカルの変更を続行できます。