2011-12-20 20 views
1

失敗:ビルドをしようとしたときにANTチェックアウトタスクは、私は次のマークアップを持っている

<?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.` 

同時に、Tortoise SVNクライアントでurlを使用してチェックアウトすることができます。

ヘルプ!

EDIT

は私が構築する際に-vキーを使用してみましたし、次のように得た:

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

EDIT

はSvnAntへの代替はありますか?それが十分に文書化されていれば素晴らしいだろう。

EDIT

おかげだから私のために動作するコードは次のとおりです。

${SvnUrl}は私が前に使用したのと同じURLです
<target name="checkout" depends="pre-cleanup"> 
    <exec dir="${basedir}" executable="svn" failonerror="true"> 
     <arg line="checkout -r ${revision} ${SvnUrl} ${src}" /> 
    </exec> 
</target> 

svnantがまったく動作しない場合

+0

したがって、svn:// p-subversion/Project/trunkは存在しますか?チェックアウトコマンドを自分で実行するとどうなりますか? –

+0

はい、そうです。私が選択したフォルダへのヘッドリビジョンの通常のチェックアウトが行われます。 – lexeme

+0

それは、プロジェクトがリポジトリなどの下位pで綴られている可能性がありますか? – oers

答えて

2

あなただけのコマンドラインからSVNを実行することができます:

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

あなたがsvn command line clientインストールする必要があります。クライアントのbin -DirectoryをPATHに追加することを確認してください。
しかし、あなたのTortoiseクライアントと同じクライアントバージョンをインストールするように注意してください。それらが一致しない場合、作業コピーは他のものにアクセスできなくなります。

+0

'dir'属性は' DIRECTORY_OF_SVN_CLIENT'を指してはいけません。私の場合、例えば、ビルドファイルが保存されているフォルダを指しています。とにかくおかげで助けてくれました。 – lexeme

+0

ああ、それはコマンドが実行されるべきディレクトリです – oers

0

p-subversionとは何ですか? SVN URLは、HTTP URLと同様に、ホスト名で始まります。 p-subversionがあなたのコンピュータを指すホスト名でない場合、チェックアウトは失敗します。おそらくそれはこのように見えるはずですか?

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

それは、Windowsの共有の場合は、[編集] ...

file://p-subversion/Project/trunk

svn:// URLは、ホスト名を前提としていますが、共有の場合はOSの一部の他の部分がありますTCP接続を既にネゴシエートしています。他のフォルダと同じように参照してください。

+0

私はネットワーク共有を持っています。 ndは( '/ p-subversion/[リポジトリ名]/[トランク|ブランチ]'のようなURLを使って)リモートマシンから定期的にチェックアウトを行います。 – lexeme

+0

私は、Windows共有を処理するためのアカウントへの回答を編集しました。 –

関連する問題