通过eclipse使用ant。我要做的是将文件或子目录添加到存储库中已存在的模块。
问题是我不知道(或不应该)脚本将在先前签出的模块中找到哪种文件或子目录。
Checksout模块 - >修改它(添加文件,子目录) - >将该模块添加到控件版本 - >提交
我正在做这样的方法:
<target name="checkout" >
<cvs cvsrsh="plink" cvsroot="${cvsroot}" package="${mymodule}" dest="${extract.dir}" command="checkout"/>
</target>
<target name="cvs_add" >
<cvs cvsrsh="plink" cvsroot="${cvsroot}" package="${mymodule}" dest="${extract.dir}" command="add -kb"/>
</target>
收到此消息:
[cvs] cvs add: in directory .:
[cvs] cvs [add aborted]: there is no version here; do 'cvs checkout' first
我也尝试过使用ant-contrib的'foreach',以便在文件和子目录之间导航,也无法正常工作。
我喜欢这个问题上的非ant-contrib建议,或者与exec任务无关的东西。但我心胸开阔。
答案 0 :(得分:0)
我想出了这个解决方案:
<ac:for param="file">
<path>
<fileset dir="${mymodule}">
<!-- <include name="**/*.jar"/> -->
</fileset>
</path>
<sequential>
<local name="filename" />
<basename property="filename" file="@{file}"/>
<echo message="${filename}"/>
<cvs cvsrsh="plink" cvsroot="${cvsroot}" dest="${mymodule}" command="add -kb ${filename}"/>
</sequential>
</ac:for>
我终于向ant-contrib投降了。如果有人采取不同的方法,请告诉我。