Skip to content

Commit

Permalink
update-hook: fix incorrect use of git-describe and sed for finding pr…
Browse files Browse the repository at this point in the history
…evious tag

Previously git-describe would output lines of the form
 v1.1.1-gf509d56
The update hook found the dash and stripped it off using
 sed 's/-g.*//'
The remainder was then used as the previous tag name.

However, git-describe has changed format.  The output is now of the form
 v1.1.1-23-gf509d56
The above sed fragment doesn't strip the middle "-23", and so the
previous tag name used would be "v1.1.1-23".  This is incorrect.

Since the hook script was written, git-describe now gained support for
"--abbrev=0", which it uses as a special flag to tell it not to output
anything other than the nearest tag name.  This patch fixes the problem,
and prevents any future recurrence by using this new flag rather than
sed to find the previous tag.

Signed-off-by: Andy Parkins <andyparkins@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Andy Parkins authored and Junio C Hamano committed Mar 14, 2007
1 parent c49b260 commit c47e6a4
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion templates/hooks--update
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ case "$refname_type" in
fi

# If this tag succeeds another, then show which tag it replaces
prevtag=$(git describe $newrev^ 2>/dev/null | sed 's/-g.*//')
prevtag=$(git describe --abbrev=0 $newrev^ 2>/dev/null)
if [ -n "$prevtag" ]; then
echo " replaces $prevtag"
fi
Expand Down

0 comments on commit c47e6a4

Please sign in to comment.