ClearCaseでラベルを作成し、最新バージョンにラベルがないファイルの最新バージョンにラベルを適用するAntスクリプトを作成しようとしています。
私はこれを使用してラベルを作成しています:
<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を使用して実行できるかどうかを確認しようとしています。
誰かアイデアはありますか?
まだ名前が付いていないものにラベルを付ける方法はないようです。代わりに、以前に使用したラベルの1つでまだラベル付けされていない場合は、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>
テストで動作するようです。