清除案例 : Loading Older Version of a specific Directory?

标签 clearcase

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

最佳答案

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

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

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

  • 快照 View 中不支持扩展路径名,如本 SO question 中所述。

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

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

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

一个可能的解决方案是使用基于时间的规则
修改快照 View 的配置规范 (它修改了特殊版本标签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 View 中进行了测试:它有效。
将日期格式调整为您需要将该子目录恢复到正确状态的日期和时间。

关于清除案例 : Loading Older Version of a specific Directory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/634509/

相关文章:

eclipse - Eclipse 中的 IBM Clearcase 插件安装问题

java - 基础 ClearCase 失败。退出代码=1。 IOException : cleartool did not return the expected exit code

shell - 如何在 diff 查看器仍然打开的情况下让cleartool diff 返回到命令行?

perl - 如何使用 perl 查询元素的作者姓名(用户名)?

Java exec方法不执行程序

clearcase - 与流清晰案例集成 View 同步

merge - 如何部分保存合并结果?

java - 重新设定一组基线

clearcase - 使用许多ClearCase View 是否代价高昂?推荐吗?

version-control - 是否有 CCRC 版本 7.0.1 的 CLI