我正在尝试创建一个 Ant 脚本,它将在 ClearCase 中创建一个标签,然后将该标签应用于最新版本没有标签的任何文件的最新版本。
我正在使用它来创建标签:
<ccmklbtype typename="${label.name}" failonerr="false"
ordinary="true" comment="${label.comment}"/>
当我使用它来添加标签时:
<ccmklabel viewpath="${view.path}" comment="${label.comment}" recurse="true"
typename="${label.name}" replace="false" version="\main\${side.branch}\LATEST"/>
当然,它是将标签添加到视图路径中的所有内容。我想要的行为是仅在该项目在最新版本上还没有标签时才添加标签。
我可以通过命令提示符执行所需的操作,但我正在尝试查看是否可以通过 Ant 完成。
有没有人有任何想法?
看起来没有办法只标记还没有名字的东西。相反,我将其设置为在 ANT 中使用一个 exec 块,如果它尚未使用之前使用的标签之一进行标记,它将标记任何内容:
<target name="add_labels" description="Look for LATEST code that does not have a previous version label already on it. Skip the 0 generation as that is brought in from a previous release.">
<exec executable="cleartool" dir="${view.path}">
<arg value="find" />
<arg value="." />
<arg value="-ver" />
<arg value="version(\main\${side.branch}\LATEST)&&!version(\main\${side.branch}\0)${history.check}" />
<arg value="-exec" />
<arg value="cleartool mklabel -replace ${label.name} %CLEARCASE_XPN%" />
</exec>
</target>
它似乎在测试中起作用。