[cvs-jp-info 111] Re: cvs remove -f の取り消し

Back to archive index

KOIE Hidetaka (鯉江英隆) hide****@koie*****
2003年 5月 29日 (木) 17:01:45 JST


  Message-Id: <3ED5B****@mikam*****>
  Date:       Thu, 29 May 2003 16:01:34 +0900
  From:       Mika Ohtsuki <mika****@mikam*****>
  Subject:    [cvs-jp-info 109] Re: cvs remove -f の取り消し

  | >cvs  remove -f hogehoge.....
  | >
  | >としたのですが、本来必要なファイルまで消してしまいました。まだcommitしていな
  | >い状態なのですが、removeを取り消す方法はありませんか?
  | >
  | 〓各ディレクトリのCVS/Entriesを覗いて、バージョン番号の頭についてる「-」
  | を削除する。
  | 〓他の変更がないなら、ディレクトリごとrmしてなかったことにする。
  | http://www.mikamama.com/CVSBook/draft2nd/chap3-8.html
  | の3.8.1のおしりと3.8.2の頭を見てみてください。

きっとEntriesをいじってしまう方が簡単だと思いますがコマンドで対処するなら
infoの Removing filesのところにも復活方法について書いてありますが
  1. cvs -nq upして行頭にRがついているのがremove対象のファイルなのでメモする
  2. それらのファイルに対して cvs add を実行する
でよいはずです。
当然ですがcommitしてなかった編集途中の内容は復活しません。

UNIXなら
cvs -nq up | awk '/^R/{print $2}' | xargs cvs add
といった感じになります。

個人的には
    FILE: cvsselect
    #!/bin/sh
    mask=${1:-?}
    awk "/^[$mask]/{print \$2}"
というスクリプトを愛用しています。

--
鯉江英隆 <hide****@koie*****>



CVS-JP-info メーリングリストの案内
Back to archive index