【アプリ版】サポートOS変更のお知らせ

TortoiseSVN のバージョン1.9.7を使用しています。

SVNに登録していて、削除してしまったファイルを復旧したく、
ネット、ヘルプなどを調べたのですが、実際の操作方法が不明です。
ヘルプなどでは、リポジトリブラウザから削除してしまったファイルの
削除時のログ(リビジョン)を表示し、その当該ログをマウスで位置づけ、
右クリックでコンテキストメニューを表示させ、
「このリビジョンにおける変更を取り消す」を選択して復旧するとのkとでしたが、
その「このリビジョンにおける変更を取り消す」部分が、コンテキストメニューに
表示されませんので、実行できず、復旧方法が不明です。

上記が表示されない理由、そもそもの復旧方法も含めて、ご享受願います。

質問者からの補足コメント

  • 削除した方法は、SVNのリポジトリブラウザから、
    対象ファイルを表示し、対象ファイルにマウスで位置づけ、
    右クリックからコンテキストメニューを表示させ、
    メニューの「削除」を選択し、削除しました。
    宜しくお願いします。

      補足日時:2017/10/13 00:14
  • 回答ありがとうございます。
    一つ確認ですが、作業フォルダ(チェックアウトフォルダ)自体を消してしまった場合、
    どうしようもないのでしょうか?

      補足日時:2017/10/13 23:25
  • ご回答ありがとうございます。
    「もう一度チェックアウトして」とありますが、確認ですが、
    SVN上にない既に削除したファイルに対して、対象がなく、
    チェックアウトはできないと思いますが、
    何に対してチェックアウトするのでしょうか?

      補足日時:2017/10/14 12:03
  • 回答ありがとうございました。
    おかげで、概ね知りたい内容が理解できてきましたので、
    最後の確認としたいのですが、削除したファイルを取り消しても
    結局、SVNへ元のファイルが復旧できても
    元のリビジョンのままではなく、リビジョンが変わる(進む)ようですが、
    それは仕様でしょうがないでしょうか?

      補足日時:2017/10/16 23:22
gooドクター

A 回答 (5件)

>結局、SVNへ元のファイルが復旧できても


>元のリビジョンのままではなく、リビジョンが変わる(進む)ようですが、
>それは仕様でしょうがないでしょうか?

挙動みる限りではSVNの仕様…でしょうね。
『リポジトリに対する変更』ということでリビジョンの更新となるのでしょう。

以前、職場で使用している環境で
リポジトリブラウザからフォルダを1つずつ作成して無駄にリビジョン進めている方も居ましたが。
# チェックアウトして作業コピーでフォルダ作って、SVN追加してからコミットするとリビジョンは1つ進むだけで済む。
    • good
    • 0
この回答へのお礼

遅くなりましたが、色々と回答して頂き
ありがとうございました。

お礼日時:2017/10/19 23:25

>「もう一度チェックアウトして」とありますが、確認ですが、


>SVN上にない既に削除したファイルに対して、対象がなく、
>チェックアウトはできないと思いますが、

チェックアウトの対象はフォルダ(ディレクトリ)ですから、より上位のディレクトリをチェックアウトすればよいかと。
元のディレクトリごと削除した。とかいうのであれば、削除する前のリビジョンでチェックアウトし、SVN更新…でしょうかね。
ディレクトリは更新で消えるかも知れませんが作業コピーの管理用の.svnフォルダは残るかと。
# というか質問ではファイルですよね?
    • good
    • 0

>一つ確認ですが、作業フォルダ(チェックアウトフォルダ)自体を消してしまった場合、


>どうしようもないのでしょうか?

もう一度チェックアウトして、取り消しを行ったあとコミットしてください。

リポジトリに対して直接取り消しを行うコマンドは…あるんですかね??
リポジトリからの削除はsvn delete URLで直接削除&コミットとする手順があるようですが
今回の取り消し操作(逆マージらしい)は作業コピーに対する操作のようですから。
    • good
    • 0

とりあえず、作業用にリポジトリ作って試してみた。



>その「このリビジョンにおける変更を取り消す」部分が、コンテキストメニューに
>表示されませんので、実行できず、復旧方法が不明です。
>上記が表示されない理由、そもそもの復旧方法も含めて、ご享受願います。

そのリポジトリから『チェックアウトしたフォルダ(作業コピー)で』右クリックから「ログを表示」して作業してください。
『チェックアウトしていないフォルダ(デスクトップなど)で』右クリックしてリポジトリブラウザーを起動、URLを入力して開いたリポジトリブラウザーから「ログを表示」した場合は、「リビジョンにおける変更を~」は表示されません。
そもそも、取り消した内容をどこに反映するのか?ということになりますから。
# 作業コピーで削除したものを「変更を取り消す」とすると「SVN追加」の状態になったファイルが出来ます。
# コミットすることでリポジトリに取り消しが確定することになるかと。
# 追加したファイルの取り消しだと…削除された上でそのフォルダにコミット待ち状態になるんでしょうね。たぶん。


どうしようもなかったら、削除前のリビジョンを一時的にエクスポートして対象ファイルを作業コピー(チェックアウトしたフォルダ)にコピーしてSVN追加、コミットで戻す。
なんて方法もあるには有りますが。
# たぶん、無駄にリポジトリの容量を消費するかも知れませんけど。
    • good
    • 0

削除した。


というのが、なにをどうやったのか書いてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング