アプリケーションをデプロイする必要があるたびに CVS-checkout を実行する Ant スクリプトがあります。これを行う理想的な方法は、最初に既存のローカル コードを削除してからチェックアウトすることですが、ビルド ファイルもプロジェクトの一部であるため、プロジェクトを削除できないようです。したがって、既存のファイルがリポジトリ内のファイルに置き換えられるチェックアウトを実行したいと考えています。既存のファイルを上書きする cvs チェックアウトを強制する方法はありますか?
私のビルドターゲットは次のようになります
<target name="deploy.branch" depends="checkPropertyForBranch" if="branchPropertyExist">
<record name="log.txt" action="start" />
<echo message="${release.number}" />
<antcall target="tag.branch" />
<antcall target="checkout.branch" />
<antcall target="stopJboss" />
<antcall target="stopRemoteJboss" />
<sleep seconds="10" />
<antcall target="replaceTag" />
<antcall target="deploy" />
<antcall target="moveConfigFiles" />
<antcall target="promote" />
<parallel>
<antcall target="startJboss" />
<antcall target="startRemoteJboss" />
</parallel>
<antcall target="waitForWebSite" />
<antcall target="mailSuccessBranch" />
<record name="log.txt" action="stop" />
</target>
チェックアウトのターゲットは次のようになります
<target name="checkout.branch">
<tstamp>
<format property="CHECKOUT" pattern="M/d/yyyy, hh:mm:SS a, z" locale="en" />
</tstamp>
<property name="checkout_start" value="${CHECKOUT}" />
<echo message="CVS checkout of BRANCH: ${branch_tag}" />
<!--<delete dir="${basedir}"/>-->
<cvspass cvsroot="cvsroot" password="*****" />
<cvs cvsroot="cvsroot" command="co -r ${branch_tag} project"dest="${checkout.dir}" />
</target>
build.xml は次のproject/scripts/build.xml
場所にありbasedir
ます../
。"project"