我们需要将生产 CVS 存储库转换为 SVN。我们使用 CVS2SVN 以及其他一些工具进行原始转换过程。
由于这是一个实时开发存储库,因此存储库切换点的停机时间相当重要。目前,我们对基本 CVS2SVN 转换的测试运行大约需要 5 天,这太长了。
我正在寻找一些替代方法来使这个过程有所增量。其中一种方法要求在 CVS 存储库上限制标记和分支。
是否可以限制标记和分支,但允许在 CVS 存储库中正常提交?
We need to convert a production CVS respository to SVN. We are using CVS2SVN for the raw conversion process as well as some other tools.
Because this is a live development repository, the downtime at the repository switchover point is fairly important. Our test runs of the base CVS2SVN conversion are taking approximately 5 days at present, which is too long.
I'm looking some alternative approaches for making the process somewhat incremental. One of the approaches requires that tagging and branching be restricted on the CVS repository.
Is it possible to restrict tagging and branching, but allow normal commits at the CVS repository?
发布评论
评论(1)
因此事实证明,使用 taginfo 预提交脚本是可能的,如手册管理部分中详述的 此处。
taginfo 文件
loginfo 对日志消息的作用与 taginfo 对标签的作用相同。 taginfo 的左侧和往常一样是正则表达式,右侧是程序。调用 CVS 标记时,每个程序都会自动传递参数,顺序如下:
如果程序返回非零,则标记将中止。
So it turns out that this is possible using the taginfo pre-commit script as detailed in the admin section of the manual here.
The taginfo File
What loginfo does for log messages, taginfo does for tags. The left side of taginfo is regular expressions, as usual, and the right side is programs. Each program is automatically handed arguments when CVS tag is invoked, in this order:
If the program returns nonzero, the tag is aborted.