14

したがって、SVN では次のようなことができます。

svn merge -r555:558
svn diff -c551

しかし(私が知る限り)行う方法はありません:

svn merge -r555:558, 592:594
svn diff -c551, 557, 563

マージの場合、常にいくつかのコマンドを順番に実行できます。

svn merge -r555:558
svn merge -r592:594

しかし、差分の場合は、複数の差分が発生するだけです (また、後のリビジョンで削除される可能性のあるものから競合が発生する可能性があるため、マージにも最適ではありません)。

それで、私の質問は... SVN自体またはLinuxコマンドと組み合わせたSVNのいずれかを使用して、真のシーケンシャルではないマルチリビジョンの差分および/またはマージを行う方法はありますか?

4

1 に答える 1

19

1 つのコマンドで複数のリビジョンをマージできます (少なくとも 1.6 では):

svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594

ただし、svn diff は複数の非順次リビジョンをサポートしていないようです。

累積パッチを取得するには、差分を個別に取得してから、combine-diff を使用してそれらを 1 つずつマージします。理想的ではありませんが、プロセスを自動化するスクリプトを作成できます。

于 2010-05-25T15:36:31.693 に答える