0

我知道我可以通过执行以下操作将 CVS 存储库转换为 GIT,不包括所有 NIGHTLY_XXXX 构建标签

cvs2git --exclude='NIGHTLY_.*' --blobfile=git-blob.dat --dumpfile=git-dump.dat --username=dev /opt/mycvsrepository/mymodule

但是,如果我还想删除超过 1 个通配符,命令行参数的格式是什么?IE

“NIGHTLY_ ”和“BETA_RELEASE_ ”和“RC_*”

提前谢谢了

4

2 回答 2

1

您可以构造一个更复杂的正则表达式来匹配所有应排除的标签名称,例如

cvs2git --exclude='(NIGHTLY|BETA_RELEASE|RC)_.*' \
        --blobfile=git-blob.dat --dumpfile=git-dump.dat \
        --username=dev /opt/mycvsrepository/mymodule

但是--exclude多次使用该选项可能更容易;例如,

cvs2git --exclude='NIGHTLY_.*' \
        --exclude='BETA_RELEASE_.*' \
        --exclude='RC_.*' \
        --blobfile=git-blob.dat --dumpfile=git-dump.dat \
        --username=dev /opt/mycvsrepository/mymodule
于 2017-04-22T04:20:08.450 回答
0

很抱歉回答我自己的问题

但多亏了这个令人惊叹的https://regex101.com/ 网站,我意识到我需要将它作为正则表达式提供

所以格式是

--exclude='(NIGHTLY_.* )|(BETA_RELEASE_.* )|(RC_.*)'

于 2017-04-21T12:17:05.460 回答