Re: [PATCH] t0001: check syntax of sample hooks

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] t0001: check syntax of sample hooks

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:40

Jonathan Nieder [off-list ref] writes:
quoted hunk
diff --git a/t/t0001-init.sh b/t/t0001-init.sh
index 6757734..3e6e1ed 100755
--- a/t/t0001-init.sh
+++ b/t/t0001-init.sh
@@ -141,6 +141,21 @@ test_expect_success 'reinit' '
 	test_cmp again/empty again/err2
 '
 
+test_expect_success 'sample hooks use acceptable syntax' '
+	mkdir boring &&
+	git init boring &&
+	test -d boring/.git/hooks &&
+	fail=f &&
+	for i in boring/.git/hooks/*.sample
+	do
+		read shebang <"$i" &&
+		shell=${shebang#"#!"} &&
+		$shell -n "$i" ||
"#!/Program  Files/bin/shell"???

I think, after observing what this outputs,

    $ echo 'a  b c' | (read shebang; echo "<$shebang>")

you would need something like this:

	shell=$(sed -e '1{
        	s/^#!//p
                q
	}' "$i") &&
        "$shell" -n "$i"
quoted hunk
diff --git a/templates/hooks--pre-rebase.sample b/templates/hooks--pre-rebase.sample
index 053f111..22a9f07 100755
--- a/templates/hooks--pre-rebase.sample
+++ b/templates/hooks--pre-rebase.sample
@@ -91,6 +91,7 @@ fi
 exit 0
 
 ################################################################
+cat <<\EOF
No need to meow here; just say ":" instead.
quoted hunk
 This sample hook safeguards topic branches that have been
 published from being rewound.
@@ -167,3 +168,5 @@ To compute (2):
 	git rev-list master..topic
 
 	if this is empty, it is fully merged to "master".
+
+EOF
-- 
1.7.1.rc1

Re: [PATCH] t0001: check syntax of sample hooks

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:48:40

Junio C Hamano wrote:
"#!/Program  Files/bin/shell"???
“#!/usr/bin/env sh”?

I will think a little more about this and look at what msysgit does.
quoted
+cat <<\EOF
No need to meow here; just say ":" instead.
Makes sense.

Thanks,
Jonathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help