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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 19, 2010, 20:52 UTC
Message-ID
<7v633nqi6i.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20100419084132.GA25901@progeny.tock>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 18 quoted lines
> 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"
Show 9 quoted lines
> 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.
Show 10 quoted lines
>  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
Previous: Jonathan NiederNext: Jonathan Nieder
Message 2 of 3 in “t0001: check syntax of sample hooks”
  1. t0001: check syntax of sample hooksJonathan Nieder, Apr 19, 2010
  2. Junio C HamanoApr 19, 2010
  3. Jonathan NiederApr 19, 2010

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.