列出在单个 cvs 提交中签入的所有文件
一般来说,我们对任何错误的修复/补丁都涉及多个文件的更改,我们将一次提交所有这些文件。
在SVN中,对于每次提交(可能涉及多个文件),它都会将整个存储库的修订号加一。 因此,我们可以轻松链接一次提交中的所有多个文件。
现在,CVS 中相同情况的困难在于它会单独增加所有文件的修订号。 假设一次提交涉及以下文件:
file1.c //revisionsigned as part of this commit..1.5.10.2
file2.c //作为此提交的一部分分配的修订版..1.41.10.1
,为此提交给出的注释是“First Bug Fix”。
现在,作为此提交的一部分签入所有文件的唯一方法是在所有 cvs 日志中搜索注释“First Bug Fix”,并希望它只会返回上面提到的两个文件修订。
请分享您的观点,了解 CVS 中是否有更好的方法来跟踪单个提交中签入的所有文件,而不是转发作为提交一部分给出的注释。
Generally,our fixes/patches for any bugs involves changes in multiple files and we will commit all these files in a single shot.
In SVN, for each commit (may involve multiple files),it will increment revision number of whole repository by one. So, we can easily link all the multiple files that went in a single commit.
Now the difficulty with the same case in CVS is that it will increment the revision numbers of all the files individually. Let's say if a commit involves the following files:
file1.c //revision assigned as part of this commit..1.5.10.2
file2.c //revision assigned as part of this commit..1.41.10.1
and the comment given for this commit is "First Bug Fix".
Now, the only way to get all files checked-in as part of this commit is by searching through all the cvs logs for comment "First Bug Fix" and hopefully it will return only the two file revisions mentioned above.
Please share your views on if there is any better way in CVS to keep track of all files checked-in in a single commit instead of relaying on comment given as part of commit.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
好的,我刚刚安装了 cvsps 并从顶层运行它。 这是输出的示例...这是我的模块上的数百个补丁集之一。 请注意,这确实可以跨不同的目录树工作。
所以,这确实可以达到你想要的效果。 不错,乔金。 然而,如前所述,CVSzilla 的作用远不止于此:
如果您想要的只是补丁集信息,请使用 cvsps。 如果您希望在大型项目上长期使用 CVS 并考虑使用 bugzilla 进行错误跟踪,那么我建议您研究一下 CVSzilla。
OK, I just installed cvsps and ran it from the top level. Here's a sample of the output... this is one of the few hundred patch sets on my module. Note that indeed this does work across different directory trees.
So, this may indeed do what you want. Nice one, Joakim. However, as mentioned, CVSzilla does much more than this:
If all you want is just the patchset info, go with cvsps. If you're looking to use CVS on large projects over a long period of time and are thinking about using bugzilla for your bug-tracking, then I would suggest looking into CVSzilla.
这也可能有用:
http://code.google.com/a/eclipselabs.org/p/变更日志/
This also could be useful:
http://code.google.com/a/eclipselabs.org/p/changelog/
我认为 CVSps 可能会满足您的需求。
“CVSps 是一个用于从 CVS 存储库生成“补丁集”信息的程序。在本例中,补丁集被定义为对文件集合所做的一组更改,并且所有更改同时提交(使用单个“cvs 提交”)命令)此信息对于了解 cvs 项目演变的整体情况非常有价值,虽然 cvs 跟踪修订信息,但通常很难看到哪些更改被“原子”提交到存储库。
这个cvsps依赖于cvs客户端。 确保您有支持 rlog 命令的正确版本的 cvs (1.1.1)
I think CVSps might do what you are looking for.
"CVSps is a program for generating 'patchset' information from a CVS repository. A patchset in this case is defined as a set of changes made to a collection of files, and all committed at the same time (using a single 'cvs commit' command). This information is valuable to seeing the big picture of the evolution of a cvs project. While cvs tracks revision information, it is often difficult to see what changes were committed 'atomically' to the repository."
This cvsps relies on cvs client. Make sure you have proper version of cvs which supports rlog command (1.1.1)
CVS 本身并不支持“事务”。
你需要一些额外的胶水来做到这一点。 幸运的是,这一切都已为您完成,并且可以在一个名为“cvszilla”的非常好的扩展中使用。
主页位于:
http://www.nyetwork.org/wiki/CVSZilla 还与 CVSweb 相关,这是通过基于 Web 的 GUI 浏览 CVS 模块的好方法。
CVS does not have inherent support for "transactions".
You need some additional glue to do this. Fortunately, this has all been done for you and is available in a very nice extension called "cvszilla".
The home page is here:
http://www.nyetwork.org/wiki/CVSZilla
This also ties in to CVSweb, which is a great way to browse through your CVS modules via a web-based GUI.
也许 ANT CvsChangeLog 任务是另一种选择。 请参阅http://ant.apache.org/manual/Tasks/changelog.html . 它提供签入消息的日期和时间。 您可以使用 XSLT 生成漂亮的报告 - 尝试 ANT 手册页底部的示例。
我知道现在回答已经晚了,但也许其他用户会像我一样(搜索)遇到这个问题并欣赏 ANT 集成。
Perhaps the ANT CvsChangeLog Task is another choice. See http://ant.apache.org/manual/Tasks/changelog.html . It provides date and time for a checkin message. You can produce nice reports with XSLT - try the example at the bottom of the ANT manual page.
I know it's late for an answer, but perhaps other users come across this like I did (searching) and appreciate the ANT integration.