From 8c24f7eb6af73417850486f8ab4cb8018464095b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Tue, 24 Oct 2017 22:51:57 +0200 Subject: [PATCH] A script to fix git tags after rebasing --- retag.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 retag.sh diff --git a/retag.sh b/retag.sh new file mode 100755 index 0000000..b876e03 --- /dev/null +++ b/retag.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -e + +first_commit=`git rev-list --max-parents=0 master` + +revs=`git rev-list --reverse ${first_commit}..master` + +git tag | xargs git tag -d + +for rev in $revs; do + message=`git log --pretty=tformat:%s -1 $rev` + chapter=`echo $message | sed -e "/^Chapter \(.*\):.*$/!d;s//ch\1/"` + if [[ -n $chapter ]]; then + git tag $chapter $rev + fi +done +