git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Pushing with --mirror over HTTP?

From
Jeff King <peff@peff.net>
Date
Sep 7, 2011, 21:39 UTC
Message-ID
<20110907213950.GI13364@sigill.intra.peff.net>
In-Reply-To
<20068.19089.303108.950233@winooski.ccs.neu.edu>
On Mon, Sep 05, 2011 at 12:05:37AM -0400, Eli Barzilay wrote:
Show 5 quoted lines
> Is there anything broken with pushing with mirror over HTTP?  I'm
> trying that with a github url, and I get a broken-looking error
> message:
> 
>   remote part of refspec is not a valid name in :.have

It's probably nothing to do with http, but rather with alternate object databases on the server (which GitHub uses heavily). The server hands out fake ".have" refs telling you it has some other branch tips to base packs off of. So I suspect the "push --mirror" code is simply wrong for trying to update those refs (it may be exacerbated by using http, though, as the remote helper code seems to have some extra checks).

Show 5 quoted lines
> and with the google code, I get:
> 
>   error: unable to push to unqualified destination: HEAD
> 
> Pushing to both of these work fine without `--mirror'.
This one, I'm not sure. It may be related.
> (BTW, as a workaround, I'm using
>   push --force --tags <url> :
> is this achieving the same effect for a repo without weird refs?)
Not quite. I think:
  git push --force <url> refs/*:refs/*

would be closer. But even that's not quite right. I believe that "--mirror" will also delete any remote refs that don't exist locally (which is why you are seeing the ":.have" refspec above, which attempts to delete it).

-Peff
Previous: Eli BarzilayNext: Eli Barzilay
Message 2 of 4 in “Pushing with --mirror over HTTP?”
  1. Eli BarzilaySep 5, 2011
  2. Jeff KingSep 7, 2011
  3. Eli BarzilaySep 8, 2011
  4. Jeff KingDec 19, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.