1

重複の可能性:
Subversionでファイルの削除を取り消す簡単な方法は何ですか?

prj1という新しいプロジェクトをデポにインポートしたかったのです。prj1の中にはsub1sub2、..があります。

cd prj1    
svn import prj1 http://someurl.com/project/branches/

しかし、これは間違ったパスであり、上記の行の最後にprj1を追加する必要があったため、prj1のサブプロジェクトを削除するつもりでした。

svn remove http://someurl.com/project/branches/sub1

しかし、私は誤ってしました:

svn remove http://someurl.com/project/branches

その結果、ブランチはなくなりました。ブランチ内では、 prj1と並行して、ローカルコピーを持っていない(チェックアウトしていない)他のプロジェクトがいくつかあります。誤ってsvnで削除されたブランチを元に戻して、デポに戻す方法があるかどうか疑問に思いました。

編集:

Lekensteyn、Lazy Badger、https: //stackoverflow.com/a/3128696/1383356によって提案されたように、最新バージョン(102)をチェックして問題を解決し、を使用してバージョン100(インポート前)にロールバックしました。 svnマージ。詳細は次のとおりです。

svn co http://someurl.com/project
cd project
svn merge -r 102:100 http://someurl.com/project
svn commit -m "Rolling back to the old days of r100 :)"
4

1 に答える 1

1

インポートと削除はリポジトリ内の別々のリビジョンです(で確認してくださいsvn log

SVNでのコミットの取り消しは、リバースマージの仕事です。削除を伴うコミットのリビジョンIDを知っている必要があり、影響を受けるパスをチェックアウトします(http://someurl.com/project/-はい、巨大なチェックアウトかもしれませんが、それはあなたの問題です)、悪いリビジョンをバックマージし、リビジョンを元に戻すコミットレポに

もう1つの方法はhttp://someurl.com/project/branches/、最新のリビジョンでチェックアウトし(PEG構文を使用)、ブランチし、HEADに更新し、ブランチをマージし(実際にツリーを復元します)、WCで結果を確認し、コミットします。

于 2012-12-13T19:06:43.953 に答える