【问题标题】:How to get pvob name by a given clearcase stream (windows)?如何通过给定的 clearcase 流(windows)获取 pvob 名称?
【发布时间】:2016-03-11 10:08:08
【问题描述】:

假设用户提出请求:

我无法传递表单流“spider_dev

该用户也没有提及视图名称。

如何获得 PVOB 名称?
我们的 ClearCase 环境太大(大约 300 个 vobs)。去每一个vob和检查是非常困难的。

【问题讨论】:

    标签: windows clearcase clearcase-ucm


    【解决方案1】:

    假设您只提供了流名称"spider_dev",没有其他信息。在羞辱开发人员没有帮助我帮助他之后,考虑使用以下命令循环遍历 vobs 并定位流(我没有在多站点工作,所以 YMMV,也标记为 Windows,所以转换为 PowerShell/DOSShell req' d):

    MY_STREAM=spider_dev # the stream you're looking for

    获取所有 vobs 的列表:

    VOB_LIST=$(cleartool lsvob| grep ucmvob| cut -c3-| awk '{print $1}')
    # list all vobs, match ucmvob, chop the active indicator (*), print the value
    

    循环浏览 vobs 以找到匹配的开发流:

    MY_STREAM=spider_dev   # the stream you're looking for
    for vob in ${VOB_LIST}; do
       for stream in $(cleartool lsproject -obs -fmt "%[dstreams]p\n" -inv ${vob}); do
          if [[ ${stream} == ${MY_STREAM} ]]; then
             echo  "!!! ${stream}@${vob}"
             break
          fi
       done
    done
    

    既然您知道流在哪里,请查找交付状态:

    cleartool deliver -status -stream ${stream}@${vob}

    结果将是以下形式:

    Deliver operation in progress on stream "stream:spider_dev@/vobs/my_pvob"
        Started by "username" on "2016-03-15T12:34:56Z"
        Using integration activity "deliver.activity".
        Using view "user_view".
        Activities will be delivered to the default target stream stream:spider_int@/vobs/my_pvob"
    in project "project:spider@/vobs/my_pvob".
    
    Baselines to be delivered:
    

    您当然可以根据需要将其包装成 shell 命令、函数、批处理脚本等。我们有大约 250 个带有 4000 个分支的 vobs,并且编写了许多小实用程序来帮助我们管理许多类似的问题,所以请感受一下您的痛苦。

    最后,提醒用户下次提供更多详细信息时,帮助会更及时,而在提供的详细信息较少时,需要的时间会非常长。

    【讨论】:

    • 这看起来比我的回答更详细。 +1
    【解决方案2】:

    一种可能性是查找以流命名的任何视图

    cleartool lsview|grep -i spider_dev
    

    grep is available for Windows,或gow: Gnu On Windows的一部分)

    如果这些视图也以用户登录名命名,您可以进一步细化搜索。

    获得视图后,you have its streamcleartool lsstream

    cleartool lsstream -l -view view_tag -anc
    

    这应该包括其 UCM 项目的扩展名称(及其 pvob)。

    【讨论】:

    • 视图在不同的区域。我们有 clearcase 多站点设置。
    • 例如:视图是慕尼黑站点,我没有访问服务器。
    • 我从班加罗尔访问。
    • @Yashwanth 你能先写一个cleartool lsregion (ibm.com/support/knowledgecenter/SSSH27_8.0.1/…) 然后写一个cleartool lsview -region <theOtherRegion>吗? (ibm.com/support/knowledgecenter/SSSH27_7.1.2/…)
    • 这引出了一个问题:您如何从班加罗尔访问?远程桌面/终端?清除工具? CTE?
    【解决方案3】:

    如果您只有示例中提供的信息,这不太可能。理想情况下,用户应按以下格式提供流的名称

    stream:<stream-name>@<pvob>

    这是强制性的,因为在另一个 PVOB 中可能有另一个名为“spider_dev”的流。

    如果用户不知道他的 PVOB(这可能发生),您应该尝试获取源 VOB 的名称,即包含源代码的 VOB。如果您设法获得源 VOB 的名称,您可以简单地使用“cleartool desc”命令。通常,命令

    cleartool desc -l vob:<source-vob-tag>

    会列出很多信息,包括VOB与其PVOB的超链接。这就是您获取 PVOB 名称的方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-09
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      相关资源
      最近更新 更多