2

次の醜いことをしました:

svnの歴史

では、どうすれば別のものを達成できreintegrateますか?

これまでに何を試しましたか?

  • まあ、明らかなマージ - これは残酷に失敗します!
  • パッチを作成して適用しますtrunk(svnのみを使用せずにファイルを比較するため、これは機能するはずです...)
  • 別のブランチ@トランクr101を作成し、最初のブランチからのすべての変更をマージします-残酷に失敗します:)

編集:

トランクのマージ情報には、目的のブランチのマージされたリビジョンは表示されません (r101 でロールバックしたため)。

4

1 に答える 1

6

これは、私が抱えていた問題の特殊なケースに過ぎないはずです: Subversion でのリバース マージの取り消し、または二重リバース マージ

r101をロールバックすることをお勧めします。

編集

さて、レポが次のように設定されているとしましょう。

svnadmin create mergetest
svn co file:///home/adam/tmp/mergetest mergetest-co
cd mergetest-co/
svn mkdir trunk
svn mkdir branches
svn ci -m "Initial setup"

echo "Hello, world!" > trunk/test
svn add trunk/test
svn ci -m "Initial trunk changes"

svn cp file:///home/adam/tmp/mergetest/trunk file:///home/adam/tmp/mergetest/branches/branch -m "Creating branch"
svn up

echo "Change on trunk." >> trunk/test
svn ci -m "Change on trunk"

svn merge file:///home/adam/tmp/mergetest/trunk branches/branch
svn ci -m "Merge from trunk"

echo "Change on branch." >> branches/branch/test
svn ci -m "Change on branch"

svn up
svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk
svn ci -m "Reintegrate merge" # Revision 7                                                                                                                                          

svn merge -c -7 trunk trunk
svn ci -m "Undoing reintegration" # Revision 8

この時点で、元に戻す操作を元に戻すことができます: svn merge -c -8 trunk trunk. また、再統合も機能します: svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk. 再統合がロールバックされたので、再統合するだけで問題はありません。うまくいかない場合は、私のセットアップがあなたのセットアップと一致していないはずなので、他の詳細に問題があるはずです。

于 2011-05-09T07:30:40.870 に答える