Version control 如何通过注释检索cvs提交

Version control 如何通过注释检索cvs提交,version-control,commit,cvs,change-management,Version Control,Commit,Cvs,Change Management,在我的开发团队中,我们使用需求管理来控制产品的预期行为和功能,并使用bug报告工具来跟踪“问题报告”(PR)。需求中的任何更改都是由“更改建议”(CP)完成的,其作用非常类似于代码存储库上的提交 为了进行任何更改最终产品的提交,必须在CVS提交注释上提供一个跟踪,该跟踪可以是CP(这意味着代码上的更改反映了产品中的更改)或PR(这意味着代码中的更改是为了纠正问题)。CP和PRs编号,以便将代码更改与引起项目(CP或PR)联系起来 评论样本 错误更正提交注释: 产品变更承诺评论: 我这里的问题是,

在我的开发团队中,我们使用需求管理来控制产品的预期行为和功能,并使用bug报告工具来跟踪“问题报告”(PR)。需求中的任何更改都是由“更改建议”(CP)完成的,其作用非常类似于代码存储库上的提交

为了进行任何更改最终产品的提交,必须在CVS提交注释上提供一个跟踪,该跟踪可以是CP(这意味着代码上的更改反映了产品中的更改)或PR(这意味着代码中的更改是为了纠正问题)。CP和PRs编号,以便将代码更改与引起项目(CP或PR)联系起来

评论样本 错误更正提交注释: 产品变更承诺评论: 我这里的问题是,我没有任何简单的方法检索为特定CP或PR更改的所有文件,也无法检索对代码所做的所有更改

我曾尝试使用regexp(python中的RE)来解析日志,但覆盖所有可能的日志有点困难。我的正则表达式无法在这里和那里检索列表,即使在对其进行了多次修改之后也是如此

所以,我一直在想,是否有任何更简单的方法,或任何项目或产品,甚至CVS内置功能可以帮助我

客观问题:如何在提交中检索由格式良好的标记(CP或PR)标识的修改文件列表?有没有更简单的方法或者我应该坚持日志解析

环境详情: 操作系统:Windows XP CVS服务器:cvsnt
CVS客户:tortoise/cvsnt

不想回答我自己的问题,但我认为这可能有助于今后为有同样问题的人提供参考

嗯,我设法在“日志消息”(提交注释的cvs术语)中执行搜索,根据日志消息中的文本内容进行过滤,并对提交时更改的文件进行分组

正如Joakim Elofsson所指出的,cvsps是一个很好的工具,用于将提交信息分组到“补丁集”,这些补丁集是单个提交,并引用在这些提交中更改的所有文件

我使用了为cygwin打包的cvsps版本,因为目前没有windows端口

只需在internet设置可用的情况下安装cygwin,在选择软件包时,搜索CVSPcvs,同时安装这两个软件包

我无法在系统上使用签出的文件(通过/cygdrive/c文件夹),所以我从cygwin shell中签出了这些文件

为乌龟用户启动Obs

您需要通过以下命令将CVSROOT环境变量设置为存储库的当前CVSROOT:

export CVSROOT="Your CVSROOT string here"
cvsps
通常,如果检查签出代码库的任何文件的属性页,将有一个名为CVS的选项卡。这是你的CVSROOT字符串。(如果您像我一样使用:sspi:连接到您的远程存储库,您可以尝试将其切换到:pserver:,它确实对我有效,但我不知道确切原因)

乌龟用户终端Obs

在签出存储库后,请使用以下命令:

export CVSROOT="Your CVSROOT string here"
cvsps
这将为您的请求创建cvsps补丁集基础。然后使用:

cvsps -l "Some regexp code"
它将在修补程序集中搜索与输入regexp匹配的日志消息

这是一个在我的数据库上使用
cvsps-l
P100-PR-FEX`的示例(更改了一些文件名和路径以使其公开…):


你也可以用它来比较标签之间的变化(我用它来控制发布)和
cvsps-r-r

我在这里做了更多的搜索(比如再搜索10分钟…/facepalm/),这个问题的答案似乎在一个页面上。在检查了简短的文档之后,我认为使用带有选项'-l'的CVSP和用于CP或PR的适当regexp可能会得到我想要的结果。如果我成功地在我的环境中运行它,我将发布此评论作为回答,以供将来使用正确的命令参考。
PatchSet 71
Date: 2012/10/25 11:30:44
Author: GUARITA
Branch: HEAD
Tag: (none)
Branches:
Log:
Kind: Error correction

Trace: P100-PR-FEX145

Description:
Corrections of the TRUE and FALSE conventions used by the C++ (true:everything but 0, false:0) P100 interface to the VB6 (false:0, true:-1 or 'all bits set to 1 which is -1 in 2's complement') P100Interface ActiveX object.
P100 Panel Version increment.

Members:
        SidePanels/P100.wimp:1.2->1.3
        SidePanels/Calcs/P100Interface/private/P100Interface.cpp:1.2->1.3