1

この質問を送信する前に関連する質問を読みましたが、私と同じ問題を抱えている正確な質問を見つけることができませんでした.

Windows ボックスで自動化をセットアップしようとしています。更新を行う ant ターゲットがあり、Eclipse を Java 開発エディターとして使用しました。Windowsボックスにはsvnクライアント(TortoiseSVN)が インストールされており、プロジェクトがチェックアウトされたら、それを使用してリポジトリから新しいチェックアウトを取得し、antターゲットを実行しました。結果は以下でした。

    C:\svncheckout\Automation>ant update-svn
    ビルドファイル: build.xml

    更新-svn:
          [svn] はじめました ...
          [svn] svn: 'C:\svncheckout\Automation' は作業コピーではありません
          [svn] svn: 'C:\svncheckout\Automation\.svn\format' から読み取れません: C:\svncheck
    out\Automation\.svn\format (指定されたファイルが見つかりません)
          [svn] svn: 'C:\svncheckout\Automation' は作業コピーではありません
          [svn] svn: 'C:\svncheckout\Automation\.svn\format' から読み取れません: C:\svncheck
    out\Automation\.svn\format (指定されたファイルが見つかりません)
          [svn] 失敗しました!

    ビルドに失敗しました
    C:\svncheckout\Automation\build.xml:198: ディレクトリを更新できません C:\svncheckout\Automation

これが私の ant ターゲットです。いくつかのフォーラムを読んだ後、svnkit実際のユーザー名とパスワードを削除して実行するようにターゲットに明示的に指示する方がよいことがわかりました。

<!-- target to update working copy -->
<target name="update-svn">
     <svn svnkit="true" javahl="false" username="guest" password="guest">
         <update dir= "${checkout}/Automation" revision="HEAD"/>
     </svn>
</target>

前もって感謝します。

4

4 に答える 4

2

svnとsvnantの間に互換性の問題がある可能性があります。例えば

svn --version svn、バージョン1.6.15(r1038135)コンパイル済み2010年11月24日15:10:19

TortoiseSVN 1.6.12、ビルド20536-32ビット、2010/11/24 20:59:01 Subversion 1.6.15、apr 1.3.8 apr-utils 1.3.9 neon 0.29.5 OpenSSL 0.9.8p 16 Nov 2010zlib1.2。 3

apache-ant 1.7.0 \ bin \ ant -version2006年12月13日にコンパイルされたApacheAntバージョン1.7.0

svnant-1.2.1.zipと組み合わせると、「作業コピー」と.svn / formatファイルの欠落というエラーが生成されます。svnant-1.3.1.zipの場合、問題はありません。

于 2012-04-10T13:55:30.520 に答える
1

私も同じ問題を抱えていました。私の場合は、javahl に切り替えるだけで解決できます。

<svn svnkit="false" javahl="true">
    <update dir="${source.dir}" revision="HEAD" />
</svn>        

編集:一般的な問題は、ant で使用されているライブラリ (SVNKit の場合) と比較して、新しいバージョンの Subversion で作成されているワークスペースに根ざしていると思います。私のシステムではjavahlが十分に最近のバージョンに存在すると思いますが、SVNKitには存在しないので、javahlに切り替えると問題が解決しました。Ant スクリプトで使用される SVNKit ライブラリを更新することで、問題を解決できる可能性があります。チグリスのこの投稿もその方向を指しています。

于 2010-01-13T12:31:29.360 に答える
1

エラーメッセージがすべてを物語っています。あなたC:\svncheckout\Automationは作業コピーではありません。それを確認するには、 が存在するかどうかを確認できますC:\svncheckout\Automation\.svn\format(おそらく存在しません)。

どのフォルダにチェックアウトしましたか?

exportの代わりに操作を行った可能性がありcheckoutますか? それとも、.svnフォルダが何らかの理由で削除されたのでしょうか?

( ではなく) 別のフォルダにチェックアウトした可能性がありますC:\svncheckout\Automationか?

Automationフォルダがリポジトリに存在しない可能性がありますか? (TortoiseSVN の Repo-Browser で確認できます。)

于 2009-12-25T14:07:34.943 に答える
0

前の回答ではjavahlに切り替えるように言われていますが、それは多くの問題を引き起こしたので、私の経験では最善の解決策はjavahlをオフにすることです.

enter code here

<!-- target to update working copy -->
<target name="update-svn">
     <svn svnkit="true" javahl="false" username="username" password="password">
        <cleanup dir="${checkout}/myframework"/>
        <update dir= "${checkout}/myframework" revision="HEAD"/>
     </svn>
</target>

ハドソンで自動化プロセスを処理するためにantスクリプトが実行されているため、クリーンアップをsvnクリーンアップだけに追加しました。そのため、クリーンアップ プロセスを避けるために、それを追加することにしました。

于 2010-01-13T18:12:01.333 に答える