在clearcase机器上,假设我有一个名为xyz.c的文件。 我已经使用命令
检出了文件jco -nc xyz.c
现在我做了一些更改,并使用以下命令
签入了文件(尚未提交)jci -nc xyz.c
我现在为xyz.c文件创建了一个新版本,我们可以通过下面的命令
看到jlog xyz.c
---------------------------------------------------------------------------
Date: 04-May-11.13:05:02 User: abc
Event: create version
Version: xyz.c@@/main/1
Comment:
---------------------------------------------------------------------------
Date: 28-Apr-11.12:19:51 User: abc
Event: create version
Version: xyz.c@@/main/0
Comment:
---------------------------------------------------------------------------
Date: 28-Apr-11.12:19:51 User: abc
Event: create branch
Version: io.c
Comment:
---------------------------------------------------------------------------
假设我已经检查了我的编码目的并再次签入 它创建了第2版。
我的问题是:如果我在版本2,我如何删除版本2以便我可以获得我的版本1.注意:版本2已签入但尚未提交。
答案 0 :(得分:1)
如果您已签入版本2并且:
你可以做cleartool rmver xyz.c@@/main/2
,但这很危险,不推荐。
还原(as I wrote here)将是:
cleartool merge -graphical -to xyz.c -delete -version \main\2
另一个(不那么复杂)的选项是用版本1劫持xyz.c
的内容,这只是替换本地副本(然后你需要签出并签入才能创建版本3。登记/>
见SO answer on cleartool get
:
cleartool get –to xyz.c xyz.c@@\main\2
答案 1 :(得分:0)
您的问题不是很明确,无论您是否已经检查过版本2。如果您尚未签入版本2,则必须uncheckout
该文件。如果您已签入该文件,则需要rollback
答案 2 :(得分:0)
我的问题是:如果我在第2版, 我该如何删除版本2呢 我可以得到我的版本1.
我不认为你不必删除它,我的解释是你只想在版本2创建后的某个时刻看到旧版本1,是吗?
文件内容的所有版本(例如版本/ main / 0,/ main / 1和/ main / 2)都存储在VOB中。但是,当您使用clearcase时,您不是直接访问VOB,而是使用视图并且所有文件访问都通过视图服务器。配置规范将确定您的视图将选择的文件版本。
因此,如果您特别想要查看文件的版本1,则可以添加
element xyz.c /main/1
到规则之前的config_spec,否则将选择一个版本(使用cleartool ls -l
进行检查)。
另外,我注意到您使用的命令jco
,jci
和jlog
与标准的clearcase命令cleartool co
,cleartool ci
和{{}不同1}}。所以看起来你正在使用一些额外的接口层,可能会有一些问题。
答案 3 :(得分:0)
您也可以以图形方式显示文件中的版本树,然后右键单击最新版本并选择删除。