[dpdk-dev] scripts: check fixed commit branch

Message ID 1467211643-26341-1-git-send-email-thomas.monjalon@6wind.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Thomas Monjalon June 29, 2016, 2:47 p.m. UTC
  The commit id of a fixed commit must be in the current branch.
It avoids referencing a local branch or a next-* branch when
pushing in the master.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 scripts/check-git-log.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
  

Comments

Thomas Monjalon July 1, 2016, 2:06 p.m. UTC | #1
2016-06-29 16:47, Thomas Monjalon:
> The commit id of a fixed commit must be in the current branch.
> It avoids referencing a local branch or a next-* branch when
> pushing in the master.
> 
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>

Applied
  

Patch

diff --git a/scripts/check-git-log.sh b/scripts/check-git-log.sh
index 9a0d068..7d2c7ee 100755
--- a/scripts/check-git-log.sh
+++ b/scripts/check-git-log.sh
@@ -140,7 +140,11 @@  IFS='
 fixtags=$(echo "$tags" | grep '^Fixes: ')
 bad=$(for fixtag in $fixtags ; do
 	hash=$(echo "$fixtag" | sed 's,^Fixes: \([0-9a-f]*\).*,\1,')
-	good="Fixes: $hash "$(git log --format='("%s")' -1 $hash 2>&-)
+	if git branch --contains $hash | grep -q '^\*' ; then
+		good="Fixes: $hash "$(git log --format='("%s")' -1 $hash 2>&-)
+	else
+		good="reference not in current branch"
+	fi
 	printf "$fixtag" | grep -v "^$good$"
 done | sed 's,^,\t,')
 [ -z "$bad" ] || printf "Wrong 'Fixes' reference:\n$bad\n"