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

Re: [PATCH] t5801: properly test the test shell

From
Johannes Sixt <j.sixt@viscovery.net>
Date
Apr 25, 2013, 10:59 UTC
Message-ID
<51790C9D.8080901@viscovery.net>
In-Reply-To
<ff7ccf22012f069ceca054d90aa0f72666cc11c2.1366884583.git.git@drmicha.warpmail.net>
Am 4/25/2013 12:09, schrieb Michael J Gruber:
Show 5 quoted lines
> fc407f9 (Add new simplified git-remote-testgit, 2012-11-28) introduced a
> test which was meant to skip the test unless the test shell is bash.
> Unfortunately, it tests for the availability of bash only. But users can
> opt to use a different shell (using SHELL_PATH) for the tests even though
> bash is available.

After my patch this morning ("avoid process substitution"), there is not much bashism left in git-remote-testgit:

diff --git a/git-remote-testgit b/git-remote-testgit
index e99d5fa..178d030 100755
--- a/git-remote-testgit
+++ b/git-remote-testgit
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
 # Copyright (c) 2012 Felipe Contreras
 
 alias=$1
@@ -23,7 +23,6 @@ then
 	testgitmarks="$dir/testgit.marks"
 	test -e "$gitmarks" || >"$gitmarks"
 	test -e "$testgitmarks" || >"$testgitmarks"
-	testgitmarks_args=( "--"{import,export}"-marks=$testgitmarks" )
 fi
 
 while read line
@@ -70,7 +69,10 @@ do
 		fi
 
 		echo "feature done"
-		git fast-export "${testgitmarks_args[@]}" $refs |
+		git fast-export \
+			${testgitmarks:+"--import-marks=$testgitmarks"} \
+			${testgitmarks:+"--export-marks=$testgitmarks"} \
+			$refs |
 		sed -e "s#refs/heads/#${prefix}/heads/#g"
 		echo "done"
 		;;
@@ -89,7 +91,10 @@ do
 
 		before=$(git for-each-ref --format='%(refname) %(objectname)')
 
-		git fast-import "${testgitmarks_args[@]}" --quiet
+		git fast-import \
+			${testgitmarks:+"--import-marks=$testgitmarks"} \
+			${testgitmarks:+"--export-marks=$testgitmarks"} \
+			--quiet
 
 		# figure out which refs were updated
 		git for-each-ref --format='%(refname) %(objectname)' |

What's left is to take care of the shbang line, remove the bash
check from t5801, make a proper commit from this patch. But I leave
that to the interested reader. :-)

-- Hannes
Previous: Michael J GruberNext: Michael J Gruber
Message 2 of 11 in “t5801: properly test the test shell”
  1. t5801: properly test the test shellMichael J Gruber, Apr 25, 2013
  2. Johannes SixtApr 25, 2013
  3. Michael J GruberApr 25, 2013
  4. Johannes SixtApr 25, 2013
  5. Junio C HamanoApr 25, 2013
  6. Torsten BögershausenApr 25, 2013
  7. Junio C HamanoApr 25, 2013
  8. Junio C HamanoApr 25, 2013
  9. Junio C HamanoApr 25, 2013
  10. Michael J GruberApr 26, 2013
  11. Junio C HamanoApr 26, 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.