threads / discuss / 34270

Basic git-archive --remote question

Subject: Basic git-archive --remote question

## tl;dr

3 messages between Jun 24, 2013 and Jun 26, 2013.

replies: 2people: 3as markdown or json

Greg Freemyer· Jun 24, 2013, 19:53 UTC · lore

I'm trying to create a tarball from a git tag and I can't get the syntax right. The documentation is not very clear.

Can someone help me?
== details
git v1.8.1.4
The upstream git repo is at: https://github.com/dkovar/analyzeMFT
Here's a few attempts using git as the protocol:
> git archive --format=tar --remote=github.com:dkovar/analyzeMFT.git v2.0.4

Permission denied (publickey). fatal: The remote end hung up unexpectedly

> git archive --format=tar --remote=git://github.com/dkovar/analyzeMFT v2.0.4
fatal: remote error
   Your Git client has made an invalid request:
   003agit-upload-archive /dkovar/analyzeMFT
> git archive --format=tar --remote=//github.com/dkovar/analyzeMFT v2.0.4

remote: fatal: '//github.com/dkovar/analyzeMFT.git' does not appear to be a git repository fatal: sent error to the client: git upload-archive: archiver died with error remote: git upload-archive: archiver died with error

The github page also says I can use ssh with git as the user, but that complains I don't have the private key (which I don't):

git archive --format=tar --remote=ssh://git@github/com/dkovar/analyzeMFT.git v2.0.4

Thanks Greg

Carlos Martín Nieto· Jun 25, 2013, 13:16 UTC · re: Greg Freemyer · lore

Re: Basic git-archive --remote question

On Mon, 2013-06-24 at 15:53 -0400, Greg Freemyer wrote:
Show 17 quoted lines
> I'm trying to create a tarball from a git tag and I can't get the
> syntax right.  The documentation is not very clear.
> 
> Can someone help me?
> 
> == details
> 
> git v1.8.1.4
> 
> The upstream git repo is at: https://github.com/dkovar/analyzeMFT
> 
> Here's a few attempts using git as the protocol:
> 
> > git archive --format=tar --remote=github.com:dkovar/analyzeMFT.git v2.0.4
> 
> Permission denied (publickey).
> fatal: The remote end hung up unexpectedly

Assuming you haven't set up any ssh rules for the github.com host, you're trying to log in with ssh with your local username, which isn't going to work.

Show 7 quoted lines
> 
> > git archive --format=tar --remote=git://github.com/dkovar/analyzeMFT v2.0.4
> 
> fatal: remote error
>    Your Git client has made an invalid request:
>    003agit-upload-archive /dkovar/analyzeMFT
> 

This is the right format. GitHub doesn't allow remote archive requests, which is why it's complaining.

If you want a tarball from GitHub, you need to download over HTTP from the links they provide (which you can find e.g. through the web UI).

Show 6 quoted lines
> 
> The github page also says I can use ssh with git as the user, but that
> complains I don't have the private key (which I don't):
> 
> git archive --format=tar
> --remote=ssh://git@github/com/dkovar/analyzeMFT.git v2.0.4

Using git as the ssh user is the right thing (if you want to talk git over ssh) with GitHub and a few other sites/hosting programs, as your public key is used to determine which user is trying to connect without giving each user an account on the underlying OS.

   cmn
Jeff King· Jun 26, 2013, 07:01 UTC · re: Greg Freemyer · lore

Re: Basic git-archive --remote question

On Mon, Jun 24, 2013 at 03:53:56PM -0400, Greg Freemyer wrote:
> I'm trying to create a tarball from a git tag and I can't get the
> syntax right.  The documentation is not very clear.
> [...]
> > git archive --format=tar --remote=github.com:dkovar/analyzeMFT.git v2.0.4
Your remote should be git@github.com:dkovar/analyzeMFT.git.
But...
Show 5 quoted lines
> > git archive --format=tar --remote=git://github.com/dkovar/analyzeMFT v2.0.4
> 
> fatal: remote error
>    Your Git client has made an invalid request:
>    003agit-upload-archive /dkovar/analyzeMFT

Your syntax is fine, but GitHub does not support remote git-archive requests. Not over git://, and not over ssh. In both cases the error messages are rather confusing and unhelpful, though.

> > git archive --format=tar --remote=//github.com/dkovar/analyzeMFT v2.0.4

This is wrong, as it is looking for //github.com... in the local filesystem.

Show 5 quoted lines
> The github page also says I can use ssh with git as the user, but that
> complains I don't have the private key (which I don't):
> 
> git archive --format=tar
> --remote=ssh://git@github/com/dkovar/analyzeMFT.git v2.0.4

If you have a GitHub account and register your public key, then you can use ssh to fetch from the repository (using the git@github.com:user/repo syntax). However, remote git-archive is not currently supported, so it would not help you.

-Peff

← back to recent threads