Subversion / TortoiseSVN で削除されたフォルダーを「削除取消し」する方法は?

StackOverflow https://stackoverflow.com/questions/2265369

質問

特定のタグを 1 つ削除するだけのつもりで、Subversion リポジトリから「tags」フォルダを誤って削除してしまいました。「タグ」フォルダーを戻す最も簡単な方法は何ですか?

私たちはクライアントとして TortoiseSVN を使用していますが、リポジトリ ブラウザに移動してログを表示すると、作業コピーの同様のダイアログに表示されるのと同じように、「このリビジョンからの変更を元に戻す」のようなものが表示されると思いました。しかし、そのようなコマンドはありません...

役に立ちましたか?

解決

戻ったばかりの以前のリビジョンから削除されたフォルダをコピーします。

リポジトリブラウザでは、あなたのフォルダがまだ存在するが改正に示すために、(右上の)ボタンラベルHEADをクリックし、そのフォルダを右クリックし、「テキストに...コピー」と入力します。そこパスは、フォルダを再作成することにしたい(テキストボックス内に既にある、おそらく同じパス)。

他のヒント

コマンドライン愛好家向け:

  • まず、削除が行われたリビジョン番号を見つけます。

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

ディレクトリがリビジョン 999 で削除されたことがわかったとします (ところで:svn リポジトリ ブラウザを使用すると、リビジョン番号を見つけるのが簡単になる場合があります)

  • リビジョンからフォルダーをコピーする マイナス1

    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

これで完了です!

あなたの場合、これは次のようになります:

    svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"

これらの答えのほとんどは程度に動作しますが、正解はダニエルのです。逆マージを行います。そうすれば、あなたはバージョン履歴を保持します。

svn merge -r R1:R2

ここで、R1は、あなたがにいる改訂され、そしてR2は、削除したファイル/フォルダが含まれて改訂したものです。

あなたはの逆マージのを行う必要があります。

これを行う方法の詳細については(そしてほとんど何か他のものは、あなたがしたいか、SVNで行う必要があるだろう)、公式本は<のhref = "http://svnbook.red-bean.com/可能です毎晩/ EN / svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.resurrect」のrel = "nofollowをnoreferrer">オンラインを。

この改正後の私のために働いたraudiの答えに続きます。

次のように

いくつかのsvnクライアントは-rリビジョンパラメータを使用しての代わりに、フォルダの後に@を使用して、指定されたリビジョン番号が必要になる場合があります:

svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"

後藤 Repository Browser あなたの repository, 、ファイルが保存されている親フォルダーを右クリックします。 削除されたフォルダ 存在した。今、 Show Log 親フォルダーのを選択し、削除操作をコミットした前のリビジョンを選択します。リストが表示されるので、リビジョン情報からフォルダーを右クリックして選択します。 Update to this Revision.

これで完了です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top