我有一個Ant腳本,每次需要部署應用程序時都會執行CVS簽出。 這樣做的理想方法是首先刪除現有的本地代碼,然後執行結帳,但似乎無法刪除項目,因爲我的構建文件也是其中的一部分。 所以我想做一個結賬,我的現有文件將被存儲庫中的文件替換。 有沒有辦法強制一個CVS簽出會覆蓋現有的文件?執行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"
我之前嘗試將它作爲結帳目標的一部分,並且只有在結算目標運行時才能正常運行,即。它首先刪除所有文件,然後進行結帳。但是,當整個事情運行,即部署,它不會說「無法刪除目錄」 – Amit 2013-03-22 07:32:59
我也嘗試了一些刪除的變化,因爲我想可能是它的CVS刪除標記。我試過「 」,命令以「rm -rf ../../」的形式存儲在屬性文件中。但是這兩個命令都會執行部分刪除並終止構建,並顯示錯誤 –
Amit
2013-03-22 07:38:15
您能向我們展示您的項目目錄的構建和結構嗎? – pepuch 2013-03-22 07:59:02