2

如何在 UCM 快照视图中加载旧版本的目录?在我们的项目中,一位开发人员将未编译和不可编译的代码签入到 ClearCase。其他开发人员更新了她的视图,然后他没有编译项目,因为以前的开发人员没有编译代码。所以开发人员只想获取以前版本的目录。如何在快照视图中执行此操作并且仅针对特定目录?

4

1 回答 1

3

第一种可能性是尝试选择要还原的子目录的正确版本,例如:

element /path/to/directory /main/[branch]/[version]

但这显然是错误的,因为:

  • 快照视图中不支持扩展路径名,如此SO question中所述。

  • 仅选择目录是不够的(文件仍将被选为流中可用的最新版本!)

无论如何,这需要在配置规范中仔细添加,因为:

  • 您不能在配置规范中的任何位置添加选择规则(元素 ...):
    • 如果您将该规则放在最后,它将被忽略(因为首先选择的先前选择规则)
    • 如果你把它放在开头,它将一直工作到下一次“ setcs -stream”出现(或下一次你推送“与流同步”时)。那时,UCM 视图(快照或动态)的配置规范被重新生成(根据流的配置)并覆盖您的自定义规则。

一种可能的解决方案是使用基于时间的规则
修改快照视图的配置规范 (它修改了特殊版本标签的含义LATEST;该规则从分支中选择在特定时间之前创建的最后一个版本;
请参阅' cleartool man config_spec'):

# Add the following temporary rule only for your sub-directory and below
# (hence the '...')
element /aVob/myComponent/mySubDirectory/... .../STREAM_NAME/LATEST -time dd-Month-yyyy

element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." .../STREAM_NAME/LATEST
element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." FOUNDATION_BASELINE -mkbranch STREAM_NAME
element "[02945650fb1411d68504000180bdc4b6=\aVob]/myComponent/..." /main/0 -mkbranch STREAM_NAME

刚刚在快照 UCM 视图中进行了测试:它可以工作。
将日期格式调整为您需要将该子目录恢复到正确状态的日期和时间。

于 2009-03-11T16:23:33.683 回答