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

[PATCH] disable post-checkout test on Cygwin

From
Alex Riesen <raa.lkml@gmail.com>
Date
Mar 17, 2009, 16:26 UTC
Message-ID
<81b0412b0903170926p4f2d536el2b96a71c79c0159e@mail.gmail.com>

It is broken because of the tricks we have to play with lstat to get the bearable perfomance out of the call. Sadly, it disables access to Cygwin's executable attribute, which Windows filesystems do not have at all.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 t/t5403-post-checkout-hook.sh |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
2009/3/3 Jeff King <peff@peff.net>:
Show 11 quoted lines
> +mkdir -p templates/hooks
> +cat >templates/hooks/post-checkout <<'EOF'
> +#!/bin/sh
> +echo $@ > $GIT_DIR/post-checkout.args
> +EOF
> +chmod +x templates/hooks/post-checkout
> +
> +test_expect_success 'post-checkout hook is triggered by clone' '
> +       git clone --template=templates . clone3 &&
> +       test -f clone3/.git/post-checkout.args
> +'

This is broken on cygwin: the hook script won't be not marked executable by copy_file, because the native Win32 stat(2) routines are used and report the mode of source file as 0666.

From e5394ee710460e25369b4755798930a3f19085c5 Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Tue, 17 Mar 2009 17:22:53 +0100
Subject: [PATCH] disable post-checkout test on Cygwin

It is broken because of the tricks we have to play with lstat to get the bearable perfomance out of the call. Sadly, it disables access to Cygwin's executable attribute, which Windows filesystems do not have at all.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 t/t5403-post-checkout-hook.sh |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/t/t5403-post-checkout-hook.sh b/t/t5403-post-checkout-hook.sh
index 4fdb418..5858b86 100755
--- a/t/t5403-post-checkout-hook.sh
+++ b/t/t5403-post-checkout-hook.sh
@@ -71,6 +71,7 @@ test_expect_success 'post-checkout receives the right args when not switching br
         test $old = $new -a $flag = 0
 '
 
+if test "$(git config --bool core.filemode)" = true; then
 mkdir -p templates/hooks
 cat >templates/hooks/post-checkout <<'EOF'
 #!/bin/sh
@@ -82,5 +83,6 @@ test_expect_success 'post-checkout hook is triggered by clone' '
 	git clone --template=templates . clone3 &&
 	test -f clone3/.git/post-checkout.args
 '
+fi
 
 test_done
-- 
1.6.2.142.gaf8db
Next: Junio C Hamano
Message 1 of 14 in “disable post-checkout test on Cygwin”
  1. disable post-checkout test on CygwinAlex Riesen, Mar 17, 2009
  2. Junio C HamanoMar 17, 2009
  3. Johannes SixtMar 17, 2009
  4. Alex RiesenMar 17, 2009
  5. Junio C HamanoMar 17, 2009
  6. Define a version of lstat(2) specially for copy operationAlex Riesen, Mar 17, 2009
  7. Mark LevedahlMar 18, 2009
  8. Alex RiesenMar 18, 2009
  9. Junio C HamanoMar 18, 2009
  10. Johannes SixtMar 18, 2009
  11. Junio C HamanoMar 18, 2009
  12. Johannes SixtMar 18, 2009
  13. Junio C HamanoMar 18, 2009
  14. Alex RiesenMar 17, 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.