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

标签 command-line scripting cvs branch

我有一个旧的 CVS 存储库,它将迁移到 Perforce。

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

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

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

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

最佳答案

作为一个快速的黑客:) 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

关于command-line - 如何识别 CVS 中存在哪些分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566093/

相关文章:

macos - OSX : Execute same command on all files within a folder

bash - 使用 gnuplot 编写脚本 --where sed

c# - 你能为 Visual C#.NET 解决方案推荐一个 .cvsignore 文件吗?

matlab - 如何结束 MATLAB/Octave 函数定义?

objective-c - 以编程方式启用对辅助设备的访问

cvs - CVS 的默认端口号

version-control - 如何禁用 CVS 粘性选项 -kk 进行关键字替换?

iphone - 如何从命令行在 iPhone 上启动 OCUnit 测试

java - 使用空格在 Java 中创建新的 Firefox 配置文件?

linux - bash: BASH_XTRACEFD: 5: 跟踪文件描述符的值无效