Unix 当文件被劫持时,如何获取文件的变更集前置版本的路径?
在UNIX下使用cleartool,如果快照视图中有未修改的文件(例如,仍然签入、未签出、未被劫持), 我可以通过以下方式成功获得其前身版本:Unix 当文件被劫持时,如何获取文件的变更集前置版本的路径?,unix,command-line,clearcase,cleartool,Unix,Command Line,Clearcase,Cleartool,在UNIX下使用cleartool,如果快照视图中有未修改的文件(例如,仍然签入、未签出、未被劫持), 我可以通过以下方式成功获得其前身版本: $ cleartool describe -predecessor -short file.c /main/ABC_int/ABC_STAGING/user_ABC_STAGING_dev1/9 那样的话没问题 但是,如果文件碰巧被劫持(这在我的工作方式中经常发生),ClearToolDescripte拒绝给我它的前一个版本: a) 以下两行模拟劫持:
$ cleartool describe -predecessor -short file.c
/main/ABC_int/ABC_STAGING/user_ABC_STAGING_dev1/9
那样的话没问题
但是,如果文件碰巧被劫持(这在我的工作方式中经常发生),ClearToolDescripte拒绝给我它的前一个版本:
a) 以下两行模拟劫持:
$ chmod 666 file.c
$ touch file.c
b) 然后,如果在同一文件上再次尝试相同的命令行:
$ cleartool describe -predecessor -short file.c
cleartool: Error: -predecessor invalid for non file system objects: "file.c".
当文件被劫持时,如何获取文件的变更集前置版本路径
有没有其他方法可以做到这一点:
“cp file.c file.c.backup”
)“cleartool更新-覆盖”
取消劫持“cleartool descripe-preference-short file.c”
)“chmod 666 file.c”
)mv file.c.backup file.c
”)谢谢 一个简单的解决方案是使用与当前快照视图相同的配置规范 虽然快照视图中的文件状态可能不允许获取其先前版本,但动态视图中引用的同一文件将被删除
cleartool descr -pred -short /view/yourDynamicView/vobs/AVob/path/to/files.c
您仍然可以在快照视图中像往常一样工作,但是您将依赖动态视图来获取所需的信息
确认: 它起作用了
cleartool mkview-tag-stream-stg-auto
cleartool description-preference-short/view//vobs//file.c
cleartool rmview-标记
有趣的想法。不过,我愿意为它编写脚本,使它更容易。您是否介意指示创建动态视图和销毁动态视图的命令行?@user972301:forcleartool mkview
示例cleartool rmview
删除它()。感谢VonC,当我本周访问clearcase时,我会尝试一下。好的,它可以工作了!1) 使用cleartool mkview-tag-stream-stg-auto创建临时动态视图
2)使用cleartool description-preference-short/view//vobs//file.c
3)使用cleartool rmview-tag
销毁临时动态视图。谢谢VonC@user972301非常好的反馈!我已将您的解决方案包含在答案中,以提高可见性。
cleartool mkview -tag <dynview_tagname> -stream <mystream@/myPVOB> -stg -auto
cleartool describe -predecessor -short /view/<dynview_tagname>/vobs/<path>/file.c
cleartool rmview -tag <dynview_tagname>