如何在TortoiseCVS中按日期范围查看所有提交

时间:2011-07-25 20:19:59

标签: cvs tortoisecvs

通过CVS历史记录查看特定文件的所有提交都没有问题。

我需要的是查看在给定文件的同一日期或附近提交的所有文件,或仅查看普通日期范围。重要的是,我会在给定日期之前或之后获得所有提交。

例如。文件x有20个修订版,最新版本是2011年6月25日

有一个错误,我需要找出该日期检查的其他文件,以检查错误的潜在来源。即使是具有WHERE date > '06-06-2011等效效果的东西也会非常好。

我试过谷歌搜索但似乎没有任何提及它。但是,我听说可以做类似上面代码示例的事情。

3 个答案:

答案 0 :(得分:1)

我使用CVSPS做这样的事情。它将一组checkns汇编成一组称为“补丁集”的集合。它具有各种功能,可以搜索特定用户创建的补丁集,日期,影响特定文件的补丁集等。它还可以创建补丁集的差异报告,这对查找更改内容非常有帮助。

http://www.cobite.com/cvsps/

答案 1 :(得分:0)

我现在有一个解决方法类型的解决方案。我会分享它,但我仍然非常有兴趣知道如何做到/如果可以这样做。

解决方法:

Check out two copies of the code based on certain dates
 and do a directory diff with something like Beyond Compare. 

问题:

What changes were made on or around June 25th?

解决方案(Windows):

1. Create two directories C:\dirA\ and C:\dirB\
2. Right-click C:\dirA\ and click 'CVS Checkout...'
3. Select the appropriate Module
4. Click the 'Revision' tab
5. Choose to get the 'Files at a certain time' and pick June 24th.
6. Repeat steps 2 - 4 on C:\dirB\
7. Choose to get the 'Files at a certain time' and pick June 26th.
8. Do a directory diff of C:\dirA\ vs C:\dirB\
9. Any differences will have been checked in on either the 24th, 25th, or 26th.
10. View CVS History to determine the exact date and time of a particular change.

当然,这不是最优雅的解决方案,但它确实有效。只要日期范围不是太大而且项目没有开发人员拥挤,那么显示的大多数更改都将是您正在寻找的更改。

显然,鉴于这有点类似于kluge的性质,我仍然对更优雅的解决方案非常感兴趣,如果有人有一些意见,我现在暂时打开这个问题。

答案 2 :(得分:0)

注意(5年后,2016年9月)

有关从CVS导入的工具的文档已更新。

commit 106b672,见commit 72e0877commit 1eba3e5Jeff King (peff)(2016年9月22日)。
Junio C Hamano -- gitster --于2016年10月3日commit 3d0049e合并)

cvsps www.cobite.com/cvsps)现在位于github.com/andreyvit/cvsps

git cvs migration现在包含以下警告:

  

这些说明使用git附带的git-cvsimport脚本,但其他导入程序可能会提供更好的结果。见git cvsimport

gitcvsimport警告:

  

警告: git cvsimport使用cvsps版本2,这被认为是   弃用;它不适用于cvsps版本3及更高版本   如果您正在执行CVS存储库的一次性导入,请考虑使用   cvs2gitcvs-fast-export