3

phing と GitCloneTask (github からレポを複製するため) を使用してビルドファイルを作成しようとしていますが、phing を実行するたびに次のメッセージが表示されます。

リモート エンドが予期せず電話を切った

だから私は git-clone => でレポを複製できるかどうかをチェックしました。

Github APIトークンとユーザー名のエラーについて.gitconfigをチェックしました=>タイプミスなどはありません

github(ssh、https、読み取り専用)で提供されているすべてのリポジトリURLをチェックしました=>ビルドファイルで使用された場合、それらのいずれもメッセージを変更しません

何か案は?

ビルドファイルのコードは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<project name="ort" default="init">
<!-- ============================================  -->
<!-- Target: initialize                            -->
<!-- ============================================  -->
    <target name="init"> 
        <input propertyname="local.documentRoot">Where to put the files?:</input>
        <mkdir dir="${local.documentRoot}" />
        <gitclone 
            repository="git://github.com/pappelt/oil-resistance-test.git"
            targetPath="${local.documentRoot}" />
    </target>
</project>
4

3 に答える 3

2

私はphingクラスでいくつかのデバッグを行いましたが、問題は「gitPath」属性でgitバイナリのパス/名前を指定する必要があることだと思います。

Linuxでは「/usr/lib/git」のようなものかもしれません。Windowsを実行していて、単に「git」を使用しました

<target name="gitclone">
    <echo msg="Getting latest code from ${git.repo}" />
    <gitclone gitPath="git" repository="${git.repo}" targetPath="${build.dir}" />
</target>

これは、git バイナリ (C:\Program Files\Git\cmd) が Windows の PATH にあるため、うまくいきました。

迷惑なことに、パスフレーズも入力する必要があるプライベートリポジトリを複製しています-_-

于 2012-04-20T10:24:56.993 に答える
1

GitCloneTask が期待どおりに機能しない理由がわかりませんでしたが、結果として生じた問題 (自動リポジトリ クローニングなし) を回避策で解決しました。GitCloneTask を使用せず、代わりに execTask を使用しました。

これが私のコードです:

<property name="remote.repositoryPath" value="git://github.com/pappelt/oil-resistance-test.git" />
<input propertyname="local.documentRoot">Where to put the files?:</input>
<exec command="git clone ${remote.repositoryPath} ${local.documentRoot}" />

エレガントでも理想的なソリューションでもありませんが、今のところ機能します...

于 2011-04-09T14:35:36.360 に答える
0

私の場合、複製しようとしていたディレクトリに複製する権限がありませんでした。エラーがそれについて言及していなかったので、私はこれを知りませんでした。誰かがパッチを作成しましたが、この投稿の時点ではメインラインにマージされていません。

phingで実行して、例外がスローされている場所を見てください-verboseGitCloneTask.php私の場合、それは77行目から来ていました。

throw new BuildException('The remote end hung up unexpectedly');

根本原因を含めるようにこれを修正しました。

throw new BuildException('The remote end hung up unexpectedly', $e);

そして、私は今得ます:

Error:
fatal: could not create work tree dir 'your-repo'.: Permission denied

アクセス許可が修正され、正常に動作するようになりました。

于 2013-05-29T14:04:07.310 に答える