【发布时间】:2015-12-29 08:00:35
【问题描述】:
我在文件 abc.html 上做了一个cvs update -r "1.5"。 abc.html 的版本直到 1.10。之前的版本是v1.8。
假设我在将其版本更改为 v1.5 后不知道它在 v1.8 中。怎么用cvs查出之前使用的文件版本是v1.8?
或者换句话说,我如何使用 cvs 来跟踪文件版本的所有先前更改?
【问题讨论】:
标签: version-control cvs
我在文件 abc.html 上做了一个cvs update -r "1.5"。 abc.html 的版本直到 1.10。之前的版本是v1.8。
假设我在将其版本更改为 v1.5 后不知道它在 v1.8 中。怎么用cvs查出之前使用的文件版本是v1.8?
或者换句话说,我如何使用 cvs 来跟踪文件版本的所有先前更改?
【问题讨论】:
标签: version-control cvs
很难从问题的措辞中了解您的意思,但我认为就是这样......您的工作区有点旧。 abc.html 的版本为 1.8。然后您执行了cvs update -r 1.5 abc.html,现在您想要撤消该操作并返回与您的存储库中其余文件的签出日期相对应的版本。简短的回答是你不能。 CVS 跟踪每个文件的更改,而不是每个目录的更改。除非您知道签出整个存储库的时间戳,或者您有一个应用于您签出的整个存储库的标签,否则您实际上无法完成。
其他可能的意思:
1.x 之前的版本是1.(x-1)。
有几个版本? cvs log <filename>.
当前工作区签出的版本是什么? cvs status abc.html。
注意:您可能不想这样做cvs update -r 1.5 abc.html,因为这会在文件上放置一个“粘性标签”,即使您将存储库的其余部分更新到最新版本,它也会永远停留在 1.5。对于检查单个文件的旧版本,如果cvs diff -r 1.5 abc.html 不够,我建议使用-p 将输出发送到标准输出。例如cvs update -p -r 1.5 abc.hmtl > abc.html。或者您甚至可以将其重定向到 /tmp/abc.html。
【讨论】: