如何从clearcase中删除文件的特​​定版本

时间:2011-05-10 06:59:40

标签: clearcase

在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已签入但尚未提交。

4 个答案:

答案 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进行检查)。


另外,我注意到您使用的命令jcojcijlog与标准的clearcase命令cleartool cocleartool ci和{{}不同1}}。所以看起来你正在使用一些额外的接口层,可能会有一些问题。

答案 3 :(得分:0)

您也可以以图形方式显示文件中的版本树,然后右键单击最新版本并选择删除。