0

あるブランチから別のブランチにいくつかの変更をマージした後、次のファイルを変更しました

M      .
M      modifiedDueToMerge
M      modifiedByMe

マージから来るものだけをコミットしたい、つまり、コミット後も「modifiedByMe」を変更する必要があります。

私は変更リストを使用しようとしていました。

svn changelist merged .
svn changelist merged modifiedDueToMerge

ただし、「。」は必要ありません。変更リストからステータスを取得すると、「modifiedByMe」ファイルのみが表示されます。

ターゲット ブランチに既に変更されたファイルを含めずにマージ + コミットを行う推奨される方法は何ですか?

4

2 に答える 2

1

ブランチの 2 つ目のクリーン コピーをチェックアウトし、そこでマージを実行してコミットすることをお勧めします。あなたがどれほど注意を払っていたかはわかりませんが、最初に変更したファイルにマージが影響し、現在はマージによる変更とあなたによる変更が含まれている可能性があります。Check for modifications念のため、作業コピーのバージョンと影響を受けるすべてのファイルのベース バージョンとの完全な差分を作成します。

TortoiseSVNのログを使用してリビジョン範囲を選択し、チェックアウトからそれらの特定のファイルをコミットすることで、マージによって変更されたファイルを特定できる場合があります。ただし、これは 100% 正確ではないため、上記で提案したことを引き続き行います。

svn:mergeinfo最後に、ブランチのルート以外にコミットするのは悪い考えだと思います。ファイルとサブフォルダーの mergeinfo で数え切れないほど噛まれたのでsvn:mergeinfo、マージをコミットする前にそれらを削除するツールを作成しました。詳細については、SO に関するこの回答をご覧ください。

于 2013-03-07T10:42:07.907 に答える
0

コミットに続いて、リポジトリのルートでプロパティの変更のみをコミットします。ファイルではなく、以下がトリックを実行することがわかりました。

svn commit --depth empty -m "comment about the commit" . modifiedDueToMerge
于 2013-03-12T10:24:24.450 に答える