当前位置:  开发笔记 > 编程语言 > 正文

如何识别CVS中存在哪些分支?

如何解决《如何识别CVS中存在哪些分支?》经验,为你挑选了2个好方法。

我有一个遗留的CVS存储库,应该迁移到Perforce.

对于每个模块,我需要确定该模块中存在哪些分支.

我只想要一个分支名称列表,没有标签.出于脚本原因,它必须是命令行工具.

例如(假设有一个cvs-list-branches.sh脚本):

$ ./cvs-list-branches.sh module1
HEAD
dev_foobar
Release_1_2
Release_1_3
$

小智.. 25

作为一个快速的黑客:)对于rlog也是如此.

cvs log -h | awk -F"[.:]" '/^\t/&&$(NF-1)==0{print $1}' | sort -u

根据bdevay改进版本,隐藏不相关的输出并左对齐结果:

cvs log -h 2>&1 | awk -F"[.:]" '/^\t/&&$(NF-1)==0{print $1}' | awk '{print $1}' | sort -u

小美化:`cvs log -h 2>&1 | awk -F"[:]"'/ ^\t/&& $(NF-1)== 0 {print $ 1}'| awk'{print $ 1}'| sort -u`它还隐藏以"cvs log:"开头的行,并将结果与​​左对齐. (3认同)


Oliver Giese.. 15

你可以简单地解析日志输出cvs log -h.对于每个文件,将有一个名为的部分Symbolic names :.其中列出的所有标签的修订号都包含零作为最后一位但是一位数是分​​支.例如:

$ cvs log -h

Rcs file : '/cvsroot/Module/File.pas,v'
Working file : 'File.pas'
Head revision : 1.1
Branch revision : 
Locks : strict
Access :
Symbolic names :
    1.1 : 'Release-1-0'
    1.1.2.4 : 'Release-1-1'
    1.1.0.2 : 'Maintenance-BRANCH'
Keyword substitution : 'kv'
Total revisions : 5
Selected revisions : 0
Description :

===============================================

在这个例子Maintenance-BRANCH中显然是一个分支,因为它的修订号列为1.1.0 .2.这有时也称为魔术分支修订号.



1> 小智..:

作为一个快速的黑客:)对于rlog也是如此.

cvs log -h | awk -F"[.:]" '/^\t/&&$(NF-1)==0{print $1}' | sort -u

根据bdevay改进版本,隐藏不相关的输出并左对齐结果:

cvs log -h 2>&1 | awk -F"[.:]" '/^\t/&&$(NF-1)==0{print $1}' | awk '{print $1}' | sort -u


小美化:`cvs log -h 2>&1 | awk -F"[:]"'/ ^\t/&& $(NF-1)== 0 {print $ 1}'| awk'{print $ 1}'| sort -u`它还隐藏以"cvs log:"开头的行,并将结果与​​左对齐.

2> Oliver Giese..:

你可以简单地解析日志输出cvs log -h.对于每个文件,将有一个名为的部分Symbolic names :.其中列出的所有标签的修订号都包含零作为最后一位但是一位数是分​​支.例如:

$ cvs log -h

Rcs file : '/cvsroot/Module/File.pas,v'
Working file : 'File.pas'
Head revision : 1.1
Branch revision : 
Locks : strict
Access :
Symbolic names :
    1.1 : 'Release-1-0'
    1.1.2.4 : 'Release-1-1'
    1.1.0.2 : 'Maintenance-BRANCH'
Keyword substitution : 'kv'
Total revisions : 5
Selected revisions : 0
Description :

===============================================

在这个例子Maintenance-BRANCH中显然是一个分支,因为它的修订号列为1.1.0 .2.这有时也称为魔术分支修订号.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有