0

通过eclipse使用蚂蚁。我要做的是将文件或子目录添加到存储库中已经存在的模块中。

问题是我不知道(或不应该)脚本将在先前签出的模块中找到什么样的文件或子目录。

签出模块 -> 修改它(添加文件、子目录) -> 将该模块添加到控制版本 -> 提交

我正在采取这样的方法:

<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 任务无关的东西。但我心胸开阔。

4

1 回答 1

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 投降了。如果有人提出不同的方法,请告诉我。

于 2013-11-04T12:01:08.063 回答