From: Junio C Hamano Date: Tue, 26 Jan 2016 22:05:58 GMT Subject: Re: [PATCH v2 18/19] mingw: handle the missing POSIXPERM prereq in t9124 Message-ID: In-Reply-To: <4c38596ae3fdcc5906dba49521084fe2b1a6888d.1453818790.git.johannes.schindelin@gmx.de> Johannes Schindelin writes: > On Windows, the permission system works completely differently than > expected by some of the tests. So let's make sure that we do not test > POSIX functionality on Windows. > > This lets t9124-git-svn-dcommit-auto-props.sh pass in Git for Windows' > SDK. > > Signed-off-by: Johannes Schindelin > --- > t/t9124-git-svn-dcommit-auto-props.sh | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/t/t9124-git-svn-dcommit-auto-props.sh b/t/t9124-git-svn-dcommit-auto-props.sh > index aa841e1..2be0805 100755 > --- a/t/t9124-git-svn-dcommit-auto-props.sh > +++ b/t/t9124-git-svn-dcommit-auto-props.sh > @@ -34,8 +34,7 @@ test_expect_success 'enable auto-props config' ' > ' > > test_expect_success 'add files matching auto-props' ' > - echo "#!$SHELL_PATH" >exec1.sh && > - chmod +x exec1.sh && > + printf "" | write_script exec1.sh && That looks like a useless use of printf. Why not write_script exec1.sh echo "hello" >hello.txt && > echo bar >bar && > git add exec1.sh hello.txt bar && > @@ -48,8 +47,7 @@ test_expect_success 'disable auto-props config' ' > ' > > test_expect_success 'add files matching disabled auto-props' ' > - echo "#$SHELL_PATH" >exec2.sh && > - chmod +x exec2.sh && > + printf "" | write_script exec2.sh && > echo "world" >world.txt && > echo zot >zot && > git add exec2.sh world.txt zot && > @@ -65,7 +63,10 @@ test_expect_success 'check resulting svn repository' ' > cd svnrepo && > > # Check properties from first commit. > - test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" && > + if test_have_prereq POSIXPERM > + then > + test -z "$(svn_cmd propget svn:executable exec1.sh)" Why this change? test "x$(svn_cmd propget svn:executable exec1.sh)" = "x*" && means "propget command gives a literal string that consists of a single asterisk". > + fi && > test "x$(svn_cmd propget svn:mime-type exec1.sh)" = \ > "xapplication/x-shellscript" && > test "x$(svn_cmd propget svn:mime-type hello.txt)" = "xtext/plain" && > @@ -73,7 +74,10 @@ test_expect_success 'check resulting svn repository' ' > test "x$(svn_cmd propget svn:mime-type bar)" = "x" && > > # Check properties from second commit. > - test "x$(svn_cmd propget svn:executable exec2.sh)" = "x*" && > + if test_have_prereq POSIXPERM > + then > + test -z "$(svn_cmd propget svn:executable exec2.sh)" Likewise. Please do not change things without understanding what they are doing. > + fi && > test "x$(svn_cmd propget svn:mime-type exec2.sh)" = "x" && > test "x$(svn_cmd propget svn:mime-type world.txt)" = "x" && > test "x$(svn_cmd propget svn:eol-style world.txt)" = "x" &&