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

[PATCH 1/2] Add an (optional, since expensive) test for >2g clones

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Mar 5, 2009, 16:05 UTC
Message-ID
<96a26f3a883890b3e56c867e8183618784837d4d.1236268730u.git.johannes.schindelin@gmx.de>
In-Reply-To
<cover.1236268730u.git.johannes.schindelin@gmx.de>
Define GIT_TEST_CLONE_2GB=t if you want the test not to be skipped.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t5705-clone-2gb.sh |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
 create mode 100755 t/t5705-clone-2gb.sh
diff --git a/t/t5705-clone-2gb.sh b/t/t5705-clone-2gb.sh
new file mode 100755
index 0000000..dd4a8ec
--- /dev/null
+++ b/t/t5705-clone-2gb.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+test_description='Test cloning a repository larger than 2 gigabyte'
+. ./test-lib.sh
+
+test -z "$GIT_TEST_CLONE_2GB" &&
+say "Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t" &&
+test_done &&
+exit
+
+test_expect_success 'setup' '
+
+	git config pack.compression 0 &&
+	git config pack.depth 0 &&
+	blobsize=$((20*1024*1024))
+	blobcount=$((2*1024*1024*1024/$blobsize+1))
+	i=1
+	(while test $i -le $blobcount
+	 do
+		printf "Generating blob $i/$blobcount\r" >&2 &&
+		printf "blob\nmark :$i\ndata $blobsize\n" &&
+		#test-genrandom $i $blobsize &&
+		printf "%-${blobsize}s" $i &&
+		echo "M 100644 :$i $i" >> commit
+		i=$(($i+1)) ||
+		echo $? > exit-status
+	 done &&
+	 echo "commit refs/heads/master" &&
+	 echo "author A U Thor <author@email.com> 123456789 +0000" &&
+	 echo "committer C O Mitter <committer@email.com> 123456789 +0000" &&
+	 echo "data 5" &&
+	 echo ">2gb" &&
+	 cat commit) |
+	git fast-import &&
+	test ! -f exit-status
+
+'
+
+test_expect_success 'clone' '
+
+	git clone --bare --no-hardlinks . clone
+
+'
+
+test_done
-- 
1.6.2.rc1.493.g27ad8
Previous: Johannes SchindelinNext: Jeff King
Message 2 of 10 in “2GB fixes for Windows”
  1. 0/2 2GB fixes for WindowsJohannes Schindelin, Mar 5, 2009
  2. 1/2 Add an (optional, since expensive) test for >2g clonesJohannes Schindelin, Mar 5, 2009
  3. Jeff KingMar 5, 2009
  4. Johannes SchindelinMar 5, 2009
  5. Jeff KingMar 5, 2009
  6. Junio C HamanoMar 5, 2009
  7. 1/2 Add an (optional, since expensive) test for >2gb clonesJohannes Schindelin, Mar 6, 2009
  8. 2/2 MinGW: 64-bit file offsetsJohannes Schindelin, Mar 6, 2009
  9. 2/2 MinGW: 64-bit file offsetsJohannes Schindelin, Mar 5, 2009
  10. Johannes SixtMar 5, 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.