gpt4 book ai didi

clearcase - 在 ClearCase 中,如何从命令行以静态 View 查看文件的旧版本?

转载 作者:行者123 更新时间:2023-12-03 14:42:00 27 4
gpt4 key购买 nike

在静态 View 中,如何查看文件的旧版本?

给定一个空文件(在本例中称为 empty),我可以颠覆 diff给我看旧版本:

% cleartool diff -ser 空文件@@/main/28

这感觉就像一个非常丑陋的黑客攻击。我错过了更基本的命令吗?有没有更简洁的方法来做到这一点?

(我不想编辑配置规范 - 这很乏味,我正在尝试查看一堆旧版本。)

澄清 :我想将文件的版本发送到标准输出,这样我就可以将它与 Unix 的其余部分(grep、sed 等)一起使用。如果你发现这个问题是因为你正在寻找一种保存版本的方法文件中的元素,见 Brian's answer .

最佳答案

I'm trying to look at a bunch of old versions


我不确定您是在谈论一个文件的“一堆旧版本”,还是来自多个文件的“一堆旧版本”。
要可视化一个文件的多个旧版本,最简单的方法是显示其版本树( ct lsvtree -graph File),然后选择一个版本,右键单击它并' Send To ' 一个接受多个文件的编辑器(如 Notepad++)。只需单击几下,您就可以查看这些旧版本。
注意:您必须拥有 CC6.0 或 7.0.1 IFix01(7.0.0 和 7.0.1 无法“发送到”文件并显示以下错误消息“ Access to unnamed file was denied”)
但是为了可视化不同文件的几个旧版本,我建议使用动态 View 并编辑该 View 的配置规范(而不是您当前正在使用的快照 View ),以便快速选择所有这些旧文件(希望通过简单的选择规则,例如“ element * aLabel”)

[来自评论:]

what's the idiomatic way to "cat" an earlier revision of a file?


惯用方式是通过 动态 View (您使用与现有快照 View 完全相同的配置规范进行配置)。
然后您可以浏览(如“将目录更改为”)各种 扩展路径 的一个文件。
如果要对文件分支的所有版本进行分类,请输入:
cd /view/MyView/vobs/myVobs/myPath/myFile@@/main/[...]/maBranch
cat 1
cat 2
...
cat x
' 1 ', ' 2 ', ... ' x ' 是该分支中文件的版本 1、2、... x。

对于 快照 View , 扩展路径不可访问 ,所以你的“黑客”是要走的路。
但是,这里有两条评论:
  • 要快速显示给定分支中快照文件的所有先前版本,您可以键入:

  • (用于复制粘贴的一行版本,Unix 语法:)
    cleartool find addon.xml -ver 'brtype(aBranch) && !version(.../aBranch/LATEST) && ! version(.../aBranch/0)' -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'

    (multi-line version for readability:)

    cleartool find addon.xml -ver 'brtype(aBranch) &&                                !version(.../aBranch/LATEST) &&                                ! version(.../aBranch/0)'           -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'
    • you can quickly have an output a little nicer with

    (one line version for copy-paste, Unix syntax:)

    cleartool find addon.xml -ver 'brtype(aBranch) && !version(.../aBranch/LATEST) && ! version(.../aBranch/0)' -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"' | ccperl -nle '$a=$_; $b = $a; $b =~ s/^>+\s(?:file\s+\d+:\s+)?//g;print $b if $a =~/^>/'

    (multi-line version for readability:)

    cleartool find addon.xml -ver 'brtype(aBranch) &&                                !version(.../aBranch/LATEST) &&                                ! version(.../aBranch/0)'          -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'| ccperl -nle '$a=$_; $b = $a;                $b =~ s/^>+\s(?:file\s+\d+:\s+)?//g;               print $b if $a =~/^>/'

    That way, the output is nicer.


    The "cleartool get" command (man page) mentioned below by Brian don't do stdout:

    The get command copies only file elements into a view.

    On a UNIX or Linux system, copy /dev/hello_world/foo.c@@/main/2 into the current directory.

    cmd-context get –to foo.c.temp /dev/hello_world/foo.c@@/main/2

    On a Windows system, copy \dev\hello_world\foo.c@@\main\2 into the C:\build directory.

    cmd-context get –to C:\build\foo.c.temp \dev\hello_world\foo.c@@\main\2
    所以也许比,通过管道将结果发送到 cat (或 type 在 Windows 中),然后您可以对所述 cat 的输出执行某些操作( type ) 命令。
    cmd-context get –to C:\build\foo.c.temp \dev\hello_world\foo.c@@\main\2 | type C:\build\foo.c.temp 

    关于clearcase - 在 ClearCase 中,如何从命令行以静态 View 查看文件的旧版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/176858/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com