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

[PATCH v4 08/14] remote-testgit: exercise more features

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Nov 2, 2012, 02:02 UTC
Message-ID
<1351821738-17526-9-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1351821738-17526-1-git-send-email-felipe.contreras@gmail.com>
Unfortunately they do not work.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 git-remote-testgit        | 18 +++++++++++++----
 t/t5801-remote-helpers.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 4 deletions(-)
 mode change 100755 => 100644 t/t5801-remote-helpers.sh
diff --git a/git-remote-testgit b/git-remote-testgit
index b9810fd..6c348b0 100755
--- a/git-remote-testgit
+++ b/git-remote-testgit
@@ -6,24 +6,34 @@ url="$2"
 
 dir="$GIT_DIR/testgit/$alias"
 prefix="refs/testgit/$alias"
-refspec="refs/heads/*:${prefix}/heads/*"
+
+default_refspec="refs/heads/*:${prefix}/heads/*"
+
+refspec="${GIT_REMOTE_TESTGIT_REFSPEC-$default_refspec}"
 
 gitmarks="$dir/git.marks"
 testgitmarks="$dir/testgit.marks"
 
+test -z "$refspec" && prefix="refs"
+
 export GIT_DIR="$url/.git"
 
 mkdir -p "$dir"
 
-test -e "$gitmarks" || echo -n > "$gitmarks"
-test -e "$testgitmarks" || echo -n > "$testgitmarks"
+if [ -z "$GIT_REMOTE_TESTGIT_NO_MARKS" ]; then
+    test -e "$gitmarks" || echo -n > "$gitmarks"
+    test -e "$testgitmarks" || echo -n > "$testgitmarks"
+else
+    echo -n > "$gitmarks"
+    echo -n > "$testgitmarks"
+fi
 
 while read line; do
     case "$line" in
     capabilities)
         echo 'import'
         echo 'export'
-        echo "refspec $refspec"
+        test -n "$refspec" && echo "refspec $refspec"
         echo "*import-marks $gitmarks"
         echo "*export-marks $gitmarks"
         echo
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
old mode 100755
new mode 100644
index 3c4e09a..83561f8
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -105,4 +105,53 @@ test_expect_failure 'push new branch with old:new refspec' '
 	compare_refs local HEAD server refs/heads/new-refspec
 '
 
+test_expect_failure 'cloning without refspec' '
+	GIT_REMOTE_TESTGIT_REFSPEC="" \
+	git clone "testgit::${PWD}/server" local2 &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pulling without refspecs' '
+	(cd local2 &&
+	git reset --hard &&
+	GIT_REMOTE_TESTGIT_REFSPEC="" git pull) &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pushing without refspecs' '
+	(cd local2 &&
+	echo content >>file &&
+	git commit -a -m three &&
+	GIT_REMOTE_TESTGIT_REFSPEC="" git push) &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pulling with straight refspec' '
+	(cd local2 &&
+	GIT_REMOTE_TESTGIT_REFSPEC="*:*" git pull) &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pushing with straight refspec' '
+	(cd local2 &&
+	echo content >>file &&
+	git commit -a -m three &&
+	GIT_REMOTE_TESTGIT_REFSPEC="*:*" git push) &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pulling without marks' '
+	(cd local2 &&
+	GIT_REMOTE_TESTGIT_NO_MARKS=1 git pull) &&
+	compare_refs local2 HEAD server HEAD
+'
+
+test_expect_failure 'pushing without marks' '
+	(cd local2 &&
+	echo content >>file &&
+	git commit -a -m three &&
+	GIT_REMOTE_TESTGIT_NO_MARKS=1 git push) &&
+	compare_refs local2 HEAD server HEAD
+'
+
 test_done
-- 
1.8.0
Previous: Felipe ContrerasNext: Felipe Contreras
Message 14 of 26 in “fast-export and remote-testgit improvements”
  1. 00/14 fast-export and remote-testgit improvementsFelipe Contreras, Nov 2, 2012
  2. 01/14 fast-export: avoid importing blob marksFelipe Contreras, Nov 2, 2012
  3. 02/14 remote-testgit: fix direction of marksFelipe Contreras, Nov 2, 2012
  4. 03/14 Rename git-remote-testgit to git-remote-testpyFelipe Contreras, Nov 2, 2012
  5. 04/14 Add new simplified git-remote-testgitFelipe Contreras, Nov 2, 2012
  6. Stefano LattariniNov 2, 2012
  7. Jeff KingNov 2, 2012
  8. Felipe ContrerasNov 2, 2012
  9. Stefano LattariniNov 2, 2012
  10. Felipe ContrerasNov 2, 2012
  11. 05/14 remote-testgit: get rid of non-local functionalityFelipe Contreras, Nov 2, 2012
  12. 06/14 remote-testgit: remove irrelevant testFelipe Contreras, Nov 2, 2012
  13. 07/14 remote-testgit: cleanup testsFelipe Contreras, Nov 2, 2012
  14. 08/14 remote-testgit: exercise more featuresFelipe Contreras, Nov 2, 2012
  15. 09/14 remote-testgit: report success after an importFelipe Contreras, Nov 2, 2012
  16. Stefano LattariniNov 2, 2012
  17. Felipe ContrerasNov 2, 2012
  18. Stefano LattariniNov 2, 2012
  19. Felipe ContrerasNov 2, 2012
  20. Stefano LattariniNov 2, 2012
  21. Jeff KingNov 2, 2012
  22. 10/14 remote-testgit: make clear the 'done' featureFelipe Contreras, Nov 2, 2012
  23. 11/14 fast-export: trivial cleanupFelipe Contreras, Nov 2, 2012
  24. 12/14 fast-export: fix comparison in testsFelipe Contreras, Nov 2, 2012
  25. 13/14 fast-export: make sure updated refs get updatedFelipe Contreras, Nov 2, 2012
  26. 14/14 fast-export: don't handle uninteresting refsFelipe Contreras, Nov 2, 2012

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.