2012-05-14 18 views
5

cvs remove <dir>cvs commitを使用してディレクトリを削除したら、作業コピーとリポジトリのディレクトリを復元するための簡単な変更方法がありますか?これまで私はコミットしていない場合、またはディレクトリではなくファイルである場合に役立つ提案を見つけることができました。可能であれば、私はディレクトリの内容の履歴を保存したいと思います。変更をコミットした後、CVSから削除されたディレクトリを復元するにはどうしたらいいですか?

答えて

5

(私はそれを考え出したとして、自分の質問に答える。)

を削除がコミットされた後に削除されたディレクトリを復元するには:

cvs update -d -R -j <rev2> -j <rev1> <dir> 

<rev2>リビジョンです削除をコミットしたことが原因です。

<rev1>は、rev2の直前のリビジョンです。

<dir>は削除されたディレクトリです。

0

あなたがファイルをコミットしたと仮定しましょうが、これは恐ろしいことをひどく壊してしまいました。コミットを元に戻す方法は次のとおりです。

コミット後のバージョン番号を取得します。ファイル内の$ Id $タグ、またはcvs statusを使用できます。新しいバージョンが1.5であるとしましょう。 コミット前のバージョン番号を取得します。通常、これは現在のバージョンよりも1つ低くなります。古いバージョンが1.4であるとしましょう。 は今、次の操作を行います。

cvs update -j 1.5 -j 1.4 filename 

CVSは上記のマージの例であるファイル名 をコミットします。あなたはcvsにバージョン1.5と1.4の違いを取って作業コピーに適用するように要請しました。バージョン番号の順序は重要です。変更を削除したり、バージョン履歴を後ろ向きにしていると考えてください。

+0

私が質問したように、削除された項目はディレクトリなので、ファイルに役立つアドバイスは役に立ちません。 – bythescruff

+0

bythescruffとSatyaの回答が私を助けました。私が回復しようとしていたディレクトリ内のファイルには異なるリビジョンがあったので、まずbythescruffの答えを使用してディレクトリを復元し、Satyaの答えを使用して個々のファイルを復元しました。お二人のおかげです。 – WileCau

関連する問題