ClearCase检出版本未被配置规范选中

4
从基本ClearCase的快照视图中,我想要从一个未在我的快照视图中选择的分支中检出文件的最新版本。我认为这是可能的,因为您可以使用版本树浏览器工具来完成此操作。
然而,checkout命令的文档声称在快照视图中无法这样做(重点在于我)。默认情况下,checkout命令会检出以下版本:
- 如果您使用动态视图,则检出分支上的最新版本。 - 如果您使用快照视图,则检出当前视图中加载的版本。
要修改不同的版本,您可以使用-version选项或在该版本处创建子分支(请参见mkbranch参考页面)。此外,在单个视图中,每个元素一次只能有一个检出。
注意:当您在快照视图中工作时,唯一可以检出的目录元素版本是当前加载到视图中的版本。因此,-version和-branch选项无法使用。
如何从命令行检出未选择的版本?(编辑:在这里我误读了“注:”部分。帮助意味着无法使用-version或-branch参数检出目录,但可以使用普通文件。)

你可以随时将你的配置规范设置为该分支。 - user195488
是的,我可以。我想创建一个脚本,从另一个分支检出多个文件,在这些文件上进行一些自动化修改,然后将它们检入到另一个分支。如果必须通过更新我的配置规范来完成这个过程,那将会非常麻烦。但这可能是唯一的方法 :( - dss539
我真的不认为你可以从不在你视野中的分支进行检出...也许有一种方法,但我在正常工作流程中从未见过这种情况。 - user195488
如果您正在使用Windows,请为文件打开版本树浏览器。右键单击当前规范未选择的某个节点。在那里,我看到一个名为“签出...”的选项,它是菜单中的第一项。 - dss539
有趣,从未尝试过。 - user195488
1个回答

2

实际上,问题提出者dss539选择的解决方案是直接使用cleartool checkout(请参阅cleartool checkout手册页)

cleartool checkout -bra/nch branch-pname | -ver/sion

它可以适用于动态或快照视图中的文件(而不是目录)。
如果您不想修改当前快照文件的配置规范,则可以:

谢谢,我会尝试并在可行的情况下接受。您提到版本树中的“发送至”,但“检出...”呢?它也使用cleartool get命令吗? - dss539
顺便说一句,感谢你在 Stack Overflow 上发布的其他 ClearCase 帖子。它们都非常有帮助! - dss539
如果使用 cleartool checkout,它如何获取当前视图未选择的版本? - dss539
@dss539 是因为它检查了我在回答中提到的相同的扩展路径名。查看您的配置规格(cleartool catcs):第一个规则是: element * CHECKEDOUT。因此,一旦任何版本被签出,它将被该第一条规则选中。在检查时,会与最新版本合并以创建一个新的最新版本。 - VonC
嗯。好的,扩展路径名在快照视图中确实有效。我之前以为它无效,是因为我误读了CC帮助文档。这意味着我可以在任何分支上签出文件,而不需要单独创建一个配置规范视图。我会编辑我的问题,突出我误读的部分。 - dss539
@dss539 是的,如果你想要复制一个扩展路径名,你需要使用动态视图,但是如果你想要检出,你可以从任何视图中进行。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接