2012-04-06 5 views
14

私たちのアプリケーションを特定のタグでダウンロードする必要がありますが、実際の解決策を見つけることができません。 gitタグに基づいてtarballをダウンロードすることは有望ですが、Curlを使用して動作させることはできません。私は以下を試しましたが、私が戻ってくるのはgithub 404ページのソースです。専用リポジトリからGitアーカイブtarballをダウンロードする際に問題が発生しました

curl -sL https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m?login=$MY_USER_NAME&token=$MY_TOKEN > 0.2.0.257m.tar 
+0

パブリックリポジトリで同じURLスキームを試しましたか? – CharlesB

+0

wgetを試しましたか?あるいは、gitを使って特定のタグからコードを複製するだけですか? –

答えて

26

公共レポのために、あなたはthis gistリストいくつかの例があります。

wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz 

民間レポのために、ポストディレクティブであなたの資格情報を渡してみてください。

wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m 

をまたは使用をカールコマンドのように "git equivalent to svn export or github workaround"、また詳細な説明:
"A curl tutorial using GitHub's API" 。

最終カールコマンドは次のようなものを見てしまった:curlコマンド作業作られた


OP Steven Jpレポート(読みやすいように複数行で)

curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar 

curl -sL --user "${username}:${password}" 
    https://github.com/$account/$repo/tarball/$tag_name 
    > tarball.tar 
+3

2つ目のリンクが役立ちました。 curl -sL --user "$ {username}:$ {password}" https://github.com/$account/$repo/tarball/$tag_name> tarball.tarのようなものを探していました。 ' –

+0

@Steven_JP優秀です。私はより多くの可視性のためにあなたのコマンドを答えに含めました。 – VonC

+0

あなたの助けをありがとう –

11

access tokenを作成した後、あなたはwgetを使用することができます。

wget --output-document=<version>.tar.gz \ 
    https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> 

またはcurl

curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> \ 
    > <version>.tar.gz 

詳しい情報はGitHub's API reference for archive linksで見つけることができます。

0

Github.comであなたのプライベート組織にログインし、その後、あなたのトークンを作成するために、ここに行く: https://github.com/settings/applications#personal-access-tokens

次を使用し、あなたのプライベート組織にカールしようとしている:

curl --header 'Authorization: token ADDACCESSTOKENHERE' \ 
--header 'Accept: application/vnd.github.v3.raw' \ 
--remote-name \ 
--location https://api.github.com/repos/ORG/PROJECT/contents/FILE 

何を交換してくださいあなたの情報を含むCAPSに...

+0

理由は、バイナリアセットをダウンロードするためにGithub APIに複数のヘッダーを送信して、1つのヘッダーが認証用であるときに問題が発生しました。「1つの認証メカニズムのみが許可され、X-Amz-Algorithmクエリパラメータ、Signatureクエリ文字列パラメータまたはAuthorizationヘッダーのみを指定する必要があります」というXML応答が返されます。しかし、authをヘッダーからクエリ文字列パラメータに変更した場合、それは機能します。だからちょうどこのクルックを言及。 – David

+0

私のために働かなかった、「見つかりませんでした」 – zaitsman

関連する問題