cvsを数回更新しましたが、古いバージョンの1つを取得したいのですが、同じファイルの異なるバージョンを取得することは可能ですか?それとも、最新のチェックインバージョンのみにする必要がありますか?
2 に答える
特定のリビジョン番号に切り替えます。cvs update -r 1.42 myfile
特定のタグに切り替える:cvs update -r mytag
特定の日付に切り替える:cvs update -D 'last friday 12:00 PST'
一部のバージョンをまだチェックアウトしていない場合は、-r
または-D
に直接渡すことができますcvs checkout
。
これらはすべて、作業コピーを指定したリビジョンまたは日付に切り替えます (これを「スティッキー タグ」と呼びます)。最新リビジョンに戻るには、 を発行しcvs update -A
ます。
-p
次のオプションを使用して、特定のリビジョンを別のファイルに取得することもできますcvs update -p -r 1.42 myfile >myfile-1.42
。これは の作業コピーには影響しませんmyfile
。
はい - CVS の専門用語では、いくつかのバージョンを (リポジトリに) コミットしたように聞こえますが、以前のリビジョンの 1 つを取得したいので、サンドボックスを更新します。特に興味深いリビジョンの場合は、タグを付けて、リビジョン番号を使用せずに再度検索できるようにすることをお勧めします。
どちらの場合でも、次のように cvs コマンドを実行できます。
cvs update -r 1.14 foo.java
cvs update -r spiffy_tag foo.java
ただし、これらのいずれかを実行すると、ローカル コピーに「スティッキー タグ」が作成され、そこからコミットできなくなることに注意してください。("cvs status foo.java" を実行してスティッキーを確認します)...そのリビジョンで作業して調整したい場合は、最初にブランチを作成することをお勧めします...次に実行すると:
cvs update -r my-branch foo.java
変更をリポジトリにコミットすることができます。