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

Re: Push tag from shallow clone?

From
Shawn O. Pearce <spearce@spearce.org>
Date
Mar 19, 2009, 18:02 UTC
Message-ID
<20090319180216.GT23521@spearce.org>
In-Reply-To
<2729632a0903191056w4efdbec6hd1656d7b47d0d8a3@mail.gmail.com>
skillzero@gmail.com wrote:
> The documentation for git clone says that if you use --depth=1 to make
> a shallow clone that you can't push it. But I made a shallow clone,
> created a tag, then tried to push that tag and it worked. Am I just
> getting lucky or is it safe to push a tag with a shallow clone?

Yea, you are getting lucky. The tag is easily identified as one object head of the current branch on the remote, and the client is able to produce the pack and send it.

If the remote branch gets modified in the interm, the builder may not be able to deduce what it needs to send, and will attempt to pack a lot more data, potentially finding the missing parents from where it is shallow.

Why not just have a central area on the build server that keeps full clones of everything, and use "git clone -s" or "git clone --reference" in order to create the new work area for the builder?

-- 
Shawn.
Previous: skillzero@gmail.comNext: skillzero@gmail.com
Message 2 of 3 in “Push tag from shallow clone?”
  1. skillzero@gmail.comMar 19, 2009
  2. Shawn O. PearceMar 19, 2009
  3. skillzero@gmail.comMar 20, 2009

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.