[TopGit PATCH] hooks/pre-commit.sh: fix it again

Subsystems: the rest

DORMANTno replies

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

[TopGit PATCH] hooks/pre-commit.sh: fix it again

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:46:28

First I think the '#' is a leftover, second this is now a bashism.

Signed-off-by: Bert Wesarg <redacted>

---
 hooks/pre-commit.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hooks/pre-commit.sh b/hooks/pre-commit.sh
index a12cfa6..edf2932 100644
--- a/hooks/pre-commit.sh
+++ b/hooks/pre-commit.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 # TopGit - A different patch queue manager
 # (c) Petr Baudis <pasky@suse.cz>  2008
 # GPLv2
@@ -20,7 +20,7 @@ tg_util
 if head_=$(git symbolic-ref -q HEAD); then
 	case "$head_" in
 		refs/heads/*)
-			git rev-parse -q --verify "${head_/#refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
+			git rev-parse -q --verify "${head_/refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
 		*)
 			exit 0;;
 	esac
-- 
tg: (fcb488d..) bw/fix-hook-again (depends on: master)

Re: [TopGit PATCH] hooks/pre-commit.sh: fix it again

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:46:28

On Wed, Mar 25, 2009 at 12:43:04PM +0100, Bert Wesarg wrote:
First I think the '#' is a leftover, second this is now a bashism.
according to bash(1):

	If pattern begins with #, it must match at the beginning of the
	expanded value of parameter.

And I noticed, too, that this is a bashism.  Using dash it fails, even
with your patch.

I would prefer to really fix it now.

Best regards
Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

Re: [TopGit PATCH] hooks/pre-commit.sh: fix it again

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:46:28

2009/3/25 Uwe Kleine-König [off-list ref]:
On Wed, Mar 25, 2009 at 12:43:04PM +0100, Bert Wesarg wrote:
quoted
First I think the '#' is a leftover, second this is now a bashism.
according to bash(1):

       If pattern begins with #, it must match at the beginning of the
       expanded value of parameter.
That is obviously true, I first removed this # and than switch to bash
(after it stills failed), so this was just thinking not testing.
And I noticed, too, that this is a bashism.  Using dash it fails, even
with your patch.

I would prefer to really fix it now.
Thanks. I intended this patch as a bug report.

Bert
Best regards
Uwe

--
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

Re: [TopGit PATCH] hooks/pre-commit.sh: fix it again

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:46:28

Hello,
 if head_=$(git symbolic-ref -q HEAD); then
 	case "$head_" in
 		refs/heads/*)
-			git rev-parse -q --verify "${head_/#refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
+			git rev-parse -q --verify "${head_/refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
			git rev-parse -q --verify "refs/top-bases${head_#refs/heads}" >/dev/null || exit 0;;

should work.

But I'm too tired to make a patch now.  That probably would only result
in more crap...

Uwe

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

Re: [TopGit PATCH] hooks/pre-commit.sh: fix it again

From: martin f krafft <hidden>
Date: 2016-06-15 22:46:28

also sprach Bert Wesarg [off-list ref] [2009.03.25.1243 +0100]:
First I think the '#' is a leftover, second this is now a bashism.
I think this can be rewritten as POSIX as follows:
-			git rev-parse -q --verify "${head_/#refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
+			git rev-parse -q --verify "${head_/refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
  git rev-parse -q --verify "refs/top-bases/${head_##refs/heads/}" >/dev/null || exit 0;;

This turns e.g. refs/heads/foo into foo and prepends
refs/top-bases/, which should be the same effect, assuming that the
variable's value contains nothing else but the ref's path.

-- 
 .''`.   martin f. krafft <madduck@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
 
logik ist analsadismus: gedanken werden gewaltsam
durch einen engen gang gepreßt.
                                                    -- frei nach lacan

[PATCH TopGit] hooks/pre-commit.sh: fix bashism

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:46:28

This was introduced in fcb488d51e72c7414f9beb40ad06bf529b8b38dc.
A similar fix was suggested by martin f krafft, too.

Reported-by: Bert Wesarg <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
---
Hello,

this should fix the issue now.

If I don't get negative feed back I will push this change later today.
I'm open for acks, too.

Best regards and thanks
Uwe

 hooks/pre-commit.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hooks/pre-commit.sh b/hooks/pre-commit.sh
index a12cfa6..9d677e9 100644
--- a/hooks/pre-commit.sh
+++ b/hooks/pre-commit.sh
@@ -20,7 +20,7 @@ tg_util
 if head_=$(git symbolic-ref -q HEAD); then
 	case "$head_" in
 		refs/heads/*)
-			git rev-parse -q --verify "${head_/#refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
+			git rev-parse -q --verify "refs/top-bases${head_#refs/heads}" >/dev/null || exit 0;;
 		*)
 			exit 0;;
 	esac
-- 
1.6.2

-- 
Pengutronix e.K.                              | Uwe Kleine-König            |
Industrial Linux Solutions                    | http://www.pengutronix.de/  |

Re: [PATCH TopGit] hooks/pre-commit.sh: fix bashism

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2016-06-15 22:46:28

Uwe Kleine-König wrote:
This was introduced in fcb488d51e72c7414f9beb40ad06bf529b8b38dc.
A similar fix was suggested by martin f krafft, too.
Works here on ubuntu bin /bin/sh is a link to /bin/dash
Reported-by: Bert Wesarg <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
quoted hunk
---
Hello,

this should fix the issue now.

If I don't get negative feed back I will push this change later today.
I'm open for acks, too.

Best regards and thanks
Uwe

 hooks/pre-commit.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hooks/pre-commit.sh b/hooks/pre-commit.sh
index a12cfa6..9d677e9 100644
--- a/hooks/pre-commit.sh
+++ b/hooks/pre-commit.sh
@@ -20,7 +20,7 @@ tg_util
 if head_=$(git symbolic-ref -q HEAD); then
 	case "$head_" in
 		refs/heads/*)
-			git rev-parse -q --verify "${head_/#refs\/heads/refs\/top-bases}" >/dev/null || exit 0;;
+			git rev-parse -q --verify "refs/top-bases${head_#refs/heads}" >/dev/null || exit 0;;
 		*)
 			exit 0;;
 	esac
Marc

-- 
Pengutronix e.K.                         | Marc Kleine-Budde           |
Linux Solutions for Science and Industry | Phone: +49-231-2826-924     |
Vertretung West/Dortmund                 | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686         | http://www.pengutronix.de   |

Re: [PATCH TopGit] hooks/pre-commit.sh: fix bashism

From: Bert Wesarg <hidden>
Date: 2016-06-15 22:46:28

2009/3/26 Marc Kleine-Budde [off-list ref]:
Uwe Kleine-König wrote:
quoted
This was introduced in fcb488d51e72c7414f9beb40ad06bf529b8b38dc.
A similar fix was suggested by martin f krafft, too.
Works here on ubuntu bin /bin/sh is a link to /bin/dash
quoted
Reported-by: Bert Wesarg <redacted>
Signed-off-by: Uwe Kleine-König <redacted>
Tested-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: Bert Wesarg <redacted>
Tested-by: Bert Wesarg <redacted>

Thanks Uwe.

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