Subversionリポジトリの作業コピーが2つあります。1つはトランク、もう1つは作成したブランチです。
リポジトリブラウザで誤ってブランチを削除しました。ブランチを復元するにはどうすればよいですか?リポジトリ全体の最新のコミットを取り消す方法はありますか?
使用する:
svn cp [path to deleted branch]@[revision before delete] [new path]
例えば:
svn cp svn://myrepo.com/svn/branches/2.0.5@1993 \
svn://myrepo.com/svn/branches/2.0.5_restored
1993は削除前のリビジョンです...
こちら いくつかの優れたドキュメントです...
ユーザー名に@
記号をエスケープする方法が必要です...
TortoiseSVNを使用している場合の解決策は次のとおりです。
最後のリビジョンが108であると仮定します:
svn merge --revision 108:107
svn diff
svn commit -m "Reverted revision 108"
ソースURLをマージに追加することもできます。
svn merge --revision 108:107 http://svn/repo/
スタックオーバーフローのその他の場所:TortoiseSVNでコミットを取り消す
私はこの問題に遭遇しましたが、上記のコマンドはうまくいきませんでした。やったことはずっと簡単でした。ブランチを削除する前に、あるリビジョンでブランチをチェックアウトしました。
削除されたリビジョンは9331でした。9330でチェックアウトしました。
svn co https://svn.acme.com/svn/giantFlySwatterTargetingSystem/branches/bug1234@9330 restored
それは私が望んでいた簡単な解決策でした。
これは私のために働いた、
svn cp --username your_user_name https:// path_to_your_repo/branches/deleted_branch_name @ last_revision_before_deletion https:// path_to_your_repo/branches/new_name_for_branch
あるいは、ブランチを削除したのが単一のコミットの場合:
コミットを取り消してからコミットする
svn merge -c -REV .
svn commit -m "Reverting deletion of branch XYZ"
私は同じ問題にぶつかり、SmartSVN(Enterprise 6.0.2)でこのように解決しました: