製品情報
技術情報
  簡単に使ってみましょう(Windows)
  簡単に使ってみましょう(UNIX)
  よくある質問 (FAQ)
  テクニカルノート
  製品比較
  用語集
  ネットワーク上でのソフトウェア開発
  インターファイル・ブランチング
  ソフトウェア構成管理の
高度な実践方法・・・
  変更管理を通じた製品品質の向上
  PERFORCE−SOFTUNE
連携運用ガイド (Rev1.02)[PDF]
ライセンス情報
テクニカルサポート
ソフトウェア ダウンロード
マニュアル ダウンロード









 
テクニカルノート008 HOME製品PERFORCE 技術情報ノート


削除したファイルを復元する方法


ディポ内から削除されたファイルを復元するには、そのファイルの削除する前のリビジョンを同期し、それを追加し、サブミットします。例えば、もし foo.c がリビジョン26で削除されたとき、その foo.c を復元するには次のように実行します。:
p4 sync foo.c#25
p4 add foo.c
p4 submit
また、チェンジリスト300をサブミットした際に、誤って //depot/main/src 配下のすべてのファイルを削除してしまった場合には、次のように実行して復元します。:
p4 sync //depot/main/src...@299
p4 add //depot/main/src/...
p4 submit

98.2以前のリリースにおいて

もし、お使いのPERFORCEが98.2以前のリリースである場合、削除されたファイルを復元するにはさらに数ステップの手順が必要となります。まず、削除されていないリビジョンを同期し、それからそのファイルを消さないように最新リビジョンを同期します。削除されたファイルを消さないように同期するには、事前にそのファイルを別名で保存しておくか、後述のように p4 flush を実行します。その後に p4 add を使って、ファイルを再追加することができます。

例えば、チェンジリスト300をサブミットした際に、誤って //depot/main/src 配下のすべてのファイルを削除してしまったとします。もちろん、ディポ内にはまだ削除される前のリビジョンが存在していますが、最新リビジョンには削除マークが付けられてしまいました。これらのファイルを削除から復元するには、次のように実行します。:
  1. 削除されていないリビジョンを同期します。このケースでは、チェンジリスト300より以前であればファイルは削除されていませんので、@299に同期すればよいことになります。
    p4 sync //depot/main/src/...@299
  2. クライアント・ワークスペース内で削除されたファイルを消さないようにするため、 p4 flush を使って最新リビジョンを同期します。
    p4 flush //depot/main/src/...
  3. 復元するためのファイルを追加目的で作業状態にするため、該当するすべてのファイルに対して p4 add を実行します。

    • UNIXでは、そのファイルが存在するところのトップ・ディレクトリに cd し、 find コマンドですべてのファイルをリストします。:
    find . -type f -print | p4 -x - add
    • Windows上で同等の操作を実行するには、そのトップ・ディレクトリをエクスプローラで選択し、 P4Win の作業中チェンジリスト・パネルにドラッグします。もしくは、次のMS-DOS コマンドを実行します。:
    dir/s/b | p4 -x - add
    • Machintoshhでは、MPWシェルから files コマンドを実行します:
    files -f -q -r -s | p4 -x - add
    これによって、実際に復元されるファイルが追加目的の作業状態になります。クライアント・ワークスペース内のファイルで、ディポから削除されなかったファイルについては、p4 add によって拒否されます(無視してもよいエラーとなります)。

  4. ここで、当該チェンジリストをサブミットします。
    p4 submit
    チェンジリストのフォームにおいて、間違ってリストされているファイル(すなわち、クライアント・ワークスペース内に存在するジャンク・ファイル)がないかをチェックし、もしあればサブミットのリストから除外します。

    p4 submit コマンドが正常終了すると、先ほど削除されたファイルがディポ内に復元されます。



戻る