我们可以从CVS中选择要检出的版本

时间:2010-07-20 21:03:12

标签: download cvs vcs-checkout

我已经更新了几次cvs并希望得到一个旧版本,是否可以获得同一文件的不同版本?或者它应该只是最新的签入版本?

2 个答案:

答案 0 :(得分: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

的工作副本

答案 1 :(得分:1)

是的 - 在CVS的术语中,听起来你已经提交了几个版本(到存储库),现在你想要获得之前的一个版本......所以你将更新你的沙盒。如果它是一个特别有趣的转速,你可能想要标记它,这样你就可以再次找到它而不必使用转速。

在任何一种情况下,您都可以像这样运行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

您将能够将更改提交回仓库。