在我的VOB中有很多标签(类型,而不是应用于文件的标签)。我想知道有多少但手动数太多了。如何计算我有多少种标签类型?
答案 0 :(得分:2)
这应该有效:
cleartool find /vobs/vobsname -kind lbtype -print | wc -l
在我与之合作的一个VOB(一个超过15岁的VOB)上找到答案12291。
请注意,我已将-s
添加到lstype
命令中 - 由于这个原因,我第一次得到误导性的行数。以下是一些时序测试(ct
实际上是cleartool
的别名,减少了输入 - 并且偶尔会与Unix上的'call terminal'程序混淆,并且仍安装了古老的通信软件):
$ time ct find . -kind lbtype -print | wc -l
12291
27.08s real 1.77s user 1.30s system
$ time ct lstype -kind lbtype -s -unsorted | sort | uniq -c |
> tee /tmp/x1 | wc -l
12292
58.10s real 4.96s user 4.66s system
$ time ct lstype -kind lbtype -s -unsorted | wc -l
12292
94.97s real 4.48s user 4.52s system
$ time ct lstype -kind lbtype -s -unsorted | wc -l
12292
73.66s real 4.69s user 4.91s system
$ time ct find . -kind lbtype -print | wc -l
12291
25.39s real 2.19s user 1.53s system
$
嗯...... lstype
的表现非常不稳定; find
的表现更加一致和快捷。 YMMV!
我希望有人在运行之间添加标签。
我不确定如何评估性能差异;结果似乎是一样的。
我机器上的其他时间(Linux x86 / 64):
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
79.49s real 1.27s user 1.87s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
36.87s real 1.39s user 1.79s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
32.30s real 1.33s user 1.92s system
$ time ct find /vobs/vobname -kind lbtype -print | wc -l
12291
21.68s real 0.81s user 0.67s system
$ time ct find /vobs/vobname -kind lbtype -print | wc -l
12291
21.87s real 0.76s user 0.68s system
$ time ct lstype -local -s -kind lbtype -invob /vobs/vobname -unsorted | wc -l
12292
32.94s real 1.26s user 1.78s system
$
同一视图中的所有操作,只有“ct lstype”和“ct find”之间的间隔输入时间(否则,使用历史记录重新执行)。我不确定为什么会出现12291与12292之间的差异。
$ ct -version
ClearCase version 7.0.1 (Wed May 30 17:04:58 EDT 2007)
7.0.1.0-RATL-RCC-IFIX01 (Wed Sep 19 16:08:10 EDT 2007)
7.0.1.1-RATL-RCC-RWP (Wed Dec 05 15:35:18 EST 2007)
7.0.1.1-RATL-RCC (Wed Dec 05 16:29:24 EST 2007)
7.0.1.1-RATL-RCC-IFIX02 (Tue May 13 14:43:13 EDT 2008)
7.0.1.2-RATL-RCC (Tue Jul 29 14:40:53 EDT 2008)
7.0.1.2-RATL-RCC-RWP (Tue Jul 29 17:31:59 EDT 2008)
7.0.1.3-RATL-RCC (Wed Nov 12 13:22:16 EST 2008)
7.0.1.4-RATL-RCC (Wed Feb 18 13:00:21 EST 2009)
@(#) MVFS version 7.0.1.4 (Tue Dec 9 00:34:57 2008) built at $Date: 2010-06-11.13:25:31 (UTC) $
cleartool 7.0.1.4 (Wed Dec 10 00:55:12 EST 2008)
db_server 7.0.1.4 (Tue Dec 9 01:09:22 EST 2008)
VOB database schema version: 54
$
答案 1 :(得分:1)
使用 lstype
:
ct lstype -local -s -kind lbtype -invob \avob -unsorted
然后,您可以将结果传递给wc以计算标签类型。
不要忘记'unsorted
'参数:计算结果会更快。
Jonathan Leffler的solution可能会更快(不确定,-local
的{{1}},但无法获得所有标签(不是全局标签,即来自adminvob层次结构的标签)。
上面的lstype
:
ct lstype
以列出所有标签类型)