Re: [PATCH v2 18/19] mingw: handle the missing POSIXPERM prereq in t9124
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 26, 2016, 22:05 UTC
- Message-ID
- <xmqqfuxkatdl.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <4c38596ae3fdcc5906dba49521084fe2b1a6888d.1453818790.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 23 quoted lines
> 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 <johannes.schindelin@gmx.de> > --- > 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 </dev/null &&
Show 21 quoted lines
> 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".
Show 12 quoted lines
> + 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" &&