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

[PATCH] git-clone.txt: remove the restriction on pushing from a shallow clone

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jul 12, 2013, 05:37 UTC
Message-ID
<1373607462-12836-1-git-send-email-pclouds@gmail.com>

The document says one cannot push from a shallow clone. But that is not true (maybe it was at some point in the past). The client does not stop such a push nor does it give any indication to the receiver that this is a shallow push. If the receiver accepts it, it's in.

Since 52fed6e (receive-pack: check connectivity before concluding "git push" - 2011-09-02), receive-pack is prepared to deal with broken push, a shallow push can't cause any corruption. Update the document to reflect that.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 Documentation/git-clone.txt | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/Documentation/git-clone.txt b/Documentation/git-clone.txt
index 450f158..85769b8 100644
--- a/Documentation/git-clone.txt
+++ b/Documentation/git-clone.txt
@@ -182,11 +182,13 @@ objects from the source repository into a pack in the cloned repository.
 --depth <depth>::
 	Create a 'shallow' clone with a history truncated to the
 	specified number of revisions.  A shallow repository has a
-	number of limitations (you cannot clone or fetch from
-	it, nor push from nor into it), but is adequate if you
-	are only interested in the recent history of a large project
-	with a long history, and would want to send in fixes
-	as patches.
+	number of limitations (you cannot clone or fetch from it, nor
+	push into it), but is adequate if you are only interested in
+	the recent history of a large project with a long history.
++
+Pushing from a shallow clone should be avoided if the git version on
+the receiver end is older than v1.7.10, or any other git
+implementation that does not perform connectivity check.
 
 --[no-]single-branch::
 	Clone only the history leading to the tip of a single branch,
-- 
1.8.2.82.gc24b958
Next: Junio C Hamano
Message 1 of 11 in “git-clone.txt: remove the restriction on pushing from a shallow clone”
  1. git-clone.txt: remove the restriction on pushing from a shallow cloneNguyễn Thái Ngọc Duy, Jul 12, 2013
  2. Junio C HamanoJul 12, 2013
  3. Junio C HamanoJul 12, 2013
  4. Duy NguyenJul 12, 2013
  5. Jonathan NiederJul 13, 2013
  6. Duy NguyenJul 14, 2013
  7. Junio C HamanoJul 14, 2013
  8. Duy NguyenJul 15, 2013
  9. Duy NguyenJul 15, 2013
  10. Junio C HamanoJul 15, 2013
  11. Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"Junio C Hamano, Jul 15, 2013

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.