【问题标题】:How to get the view specific history of the file in clearcase如何在 clearcase 中获取文件的查看特定历史记录
【发布时间】:2012-09-24 20:32:18
【问题描述】:

我想获取感兴趣文件的修改历史 clearcase 的当前视图。

cleartool lshistory {files}

将为我提供所有分支的历史记录,包括更改 发生在视图之外。 我只是想查看影响当前视图的更改。

是否有任何方便的命令或脚本可以让我实现这一点?

  • 我正在使用静态视图。
  • 我需要将历史记录转储到标准输出中,以便在脚本中使用它。
  • “cleartool lshistory -cview {files}”是我想要的,但-cview 不可用。

非常感谢您的帮助。


2012 年 2 月 29 日的后续编辑。

感谢@VonC 的提示,我可以创建 一个简单的shell script 哪个

  1. 获取当前视图的可见分支
  2. 列出分支中的版本历史记录

对于给定的文件和“自”日期。

它没有给出准确的历史,因为它假设以下 自给定日期以来,元素的各个方面没有改变

  • 当前视图的配置规范。
  • 给定文件的可见分支。

如果没有这个假设,我想我必须跟踪当前视图的历史记录并解析 configspec 以确定 视图的分支可见性的优先级。

在我的工作环境和使用中,历史跨度很小, 这些假设几乎总是成立。

再次感谢您的帮助。

【问题讨论】:

    标签: clearcase


    【解决方案1】:

    您不能在当前视图中拥有文件的历史记录我并不感到惊讶...因为视图的配置规范可以随时更改(尤其是非 UCM 配置规范)。
    (注意:快照或动态在这里无关紧要,只有配置规范,根据您想要的任何规则,用于快照视图或基于 UCM 视图的流)

    意识到一个视图是为了选择一个固定版本(然后授权,如果配置正确的话)要在特定分支中创建的新版本。

    所以我想你可能想要列出特定分支的所有版本。
    除非您在 UCM 视图中,否则您必须指定您正在谈论的分支(非 UCM 视图可以通过 -mkbranch 指令从任何标准授权分支,而不仅仅是来自另一个分支)。

    我建议查看“Additional examples of the cleartool find command”,并找到给定 brtype 的所有版本。

    cleartool find -all -version "brtype(mybranch)" -print
    

    注意:不要在那个上添加-cview,它只会返回您视图当前选择的一个版本。


    奇怪的事实:cleartool lshistory 没有任何-cview 选项,但本文提到了一个:“Displaying the history of checkouts on UNIX”。


    现在,在好朋友 Tamir Gefen 加入之前,是的,his tools 中的一些可以帮助可视化文件的历史记录(即使它与特定视图无关)

    但这些是一组额外的工具,可能不在您的项目预算之内。


    OP tosh shimayama 已经有了this script lshistory_cview.sh

    #!/bin/sh
    [ $# -ne 2 ] && echo 'please specify date and filename' && exit 1
    date=$1; shift; file=$1
    ct='cleartool'
    # get the current visible branch
    branch=$(${ct} find ${file} -cview -print | sed -e 's/.*\\\(.*\)\\\(.*\)/\1/g')
    # get the history of the file within the branch
    ${ct} find ${file} -version "{brtype(${branch}) && created_since(${date})}" -print
    

    【讨论】:

    • 非常感谢。因此,简而言之,不存在查看特定历史记录。我将尝试结合“查找”和“lshistory”方法来获得至少一个(非精确的)粗略历史。我会发布结果。
    • @user1238847:太好了,我会对你的发现感兴趣。
    猜你喜欢
    • 2010-12-19
    • 2018-11-01
    • 2012-12-30
    • 1970-01-01
    • 2012-11-13
    • 2012-09-30
    • 2014-11-25
    • 1970-01-01
    • 2012-08-10
    相关资源
    最近更新 更多