Сбой при проверке ANT - PullRequest
       23

Сбой при проверке ANT

1 голос
/ 20 декабря 2011

У меня есть следующая разметка:

<?xml version="1.0" ?>
<project name="SampleBuild" default="compile" basedir=".">
    <property name="SvnAntDir" value="C:/Program Files/Apache/svnant-1.2.1/doc" />  
    <property name="src" value="_src_" />
    <property name="build" value="_build_"/>
    <property name="dist" value="${build}/_jars_" />    

    <path id= "svnant.classpath" >
        <fileset dir= "${SvnAntDir}" >
            <include name= "*.jar" />
        </fileset>
    </path>

    <target name="pre-cleanup">
        <delete dir="${src}" />     
        <delete file="${dist}/Project.jar" />
        <delete includeEmptyDirs="true" failonerror="false">
            <fileset dir="${build}/_classes_/sevgok/" />
        </delete>

        <mkdir dir="${src}" />
        <tstamp />
    </target>

    <target name="checkout" depends="pre-cleanup">      
        <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />       
        <svn>
            <checkout url="svn://p-subversion/Project/trunk" revision="HEAD" destPath="${src}" />
        </svn>
    </target>   

    <target name="compile" depends="checkout">
        <javac srcdir="${src}" destdir="${build}/_classes_" debug="on" debuglevel="lines,vars,source">
            <classpath>
                <pathelement path="${classpath}" />
                <fileset dir="./_libs_">
                    <include name="*.jar" />
                    <include name="*.zip" />
                </fileset>
            </classpath>
        </javac>
    </target>   
</project>

Проблема возникает при попытке сделать сборку.Сообщение об ошибке следующее:

checkout: [svn] <Checkout> started ...
[svn] svn: svn://p-subversion/Project/trunk` doesn't exist
[svn] svn: svn://p-subversion/Project/trunk` doesn't exist
[svn] <Checkout> failed!

Build FAILED
C:\build.minimal.xml: (line of code which points to <svn> openning tag): Can't checkout.`

Одновременно можно оформить заказ с помощью SVN-клиента Tortoise, используя URL-адрес.

Справка!

РЕДАКТИРОВАТЬ

Я пытался использовать ключ -v при сборке и получил следующее:

Caused by: org.tigris.subversion.svnclientadapter.SVNClientException: org.tigris .subversion.javahl.ClientException: svn: URL 'svn://p-subversion/Project/trunk ' doesn't exist

РЕДАКТИРОВАТЬ

Isесть ли альтернатива SvnAnt?Было бы здорово, если бы это было также хорошо задокументировано.

Спасибо

РЕДАКТИРОВАТЬ

Так что код, который работает для меня:

<target name="checkout" depends="pre-cleanup">
    <exec dir="${basedir}" executable="svn" failonerror="true">
        <arg line="checkout -r ${revision} ${SvnUrl} ${src}" />
    </exec>
</target>

где ${SvnUrl} - это тот же URL, который я использовал ранее.

Ответы [ 2 ]

2 голосов
/ 20 декабря 2011

Если svnant вообще не работает, вы можете просто выполнить svn из командной строки:

<exec executable="svn" dir="DIRECTORY_WHERE_COMMAND_EXECUTES">
  <arg line="checkout svn://p-subversion/Project/trunk $src"/>
</exec>

Вам необходимо установить клиент командной строки svn .Убедитесь, что вы добавили bin -каталог клиента к PATH.
, но позаботьтесь об установке той же версии клиента, что и у вашего клиента-черепахи.Если они не соответствуют друг другу, они сделают рабочую копию недоступной для другого.

0 голосов
/ 20 декабря 2011

Что должно быть p-subversion? URL-адреса SVN, как и HTTP-URL, начинаются с имени хоста. Если p-subversion не является именем хоста, которое будет указывать на ваш компьютер, то проверка завершится неудачно. Возможно, это должно выглядеть больше так?

svn://localhost/p-subversion/Project/trunk

[править] Если это общий ресурс Windows ...

file://p-subversion/Project/trunk

URL svn:// предполагает имя хоста, но в случае общего ресурса какая-то другая часть ОС уже согласовывает соединение TCP. Называйте его так же, как любую другую папку.

...