2009-10-07 99 views

回答

0

cvs log将返回所有这些。既然你不能说“的最后N个版本”(在这里,我甚至不能说cvs log HEAD),有两种选择:

  1. 使用head -N一开始的N个最上面的线(Unix或Cygwin的唯一)

  2. 使用日期和cvs log -d DATE

0

由于CVS版本实现每个文件单独,我想你必须通过每一个文件,并比较提交时间戳来确定哪一个是最新的。结合CVS不支持提交集的概念这一事实,您可以获得一堆具有相同提交时间戳的文件。那么哪一个是最新的?或者,也许你可以创建一个提交挂钩,写入日志文件并使用它来确定最新的提交。

正如你可能知道的那样,这些都不是特别给出的选择路径。我强烈建议,在模块级别,您总是会与标签进行比较。建立一个软件过程,包括在做出足够重要的改进时标记模块(例如每日构建,部署到测试环境等),然后使用创建的标记作为比较基准。

可以完成使用

  • cvs rdiff命令没有工作拷贝版本比较对标签的最新变化,或在工作副本顶级
  • cvs diff命令

请参阅CVS文档以获取完整参考。

8

我想也许你可以使用历史命令。试试像这样:

cvs history -c -D 2012-04-01 -a 

上面的例子显示自指定日期以来的所有提交(指定所以列表的长度是有限的......)。

-c表示提交, -a表示所有用户。

具有相同时间戳和用户的提交显然来自同一提交。然后,您可以继续阅读日志消息犯了

cvs log -r <version> <file> 

只需选择其中的一个文件从具体承诺。您也可以在历史记录输出中找到该文件的版本。最后,看看我会使用的差异

cvs diff -D "<date 1>" -D "<date 2>" 

在这里,“日期1”和“日期2”应该是提交之前和之后的时间戳。请注意(据我所知),如果您正在分支(??)上工作,这似乎不起作用。这将是我想提出的另一个问题的主题。

相关问题