Created
March 30, 2022 14:34
-
-
Save jwerle/5f937115818b76712efca575c73b8a9f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
declare -a tags=($(git tag -l)) | |
for tag in "${tags[@]}"; do | |
## checkout current tag | |
git checkout "$tag" | |
## checkout `setup.sh` from master branch with latest changes | |
git checkout master -- setup.sh | |
## get current version | |
declare version="$(bpkg package version)" | |
## version replacement regex for `sed(1)` | |
declare regex="s/VERSION=.*/VERSION=\"$version\"/g" | |
## set versions in files | |
sed -i "$regex" bpkg.sh | |
sed -i "$regex" setup.sh | |
## remove current tag | |
git tag -d "$tag" | |
## amend HEAD for current tag | |
git commit -a --amend --no-edit | |
## retag | |
git tag "$tag" | |
## force push update | |
git push origin "$tag" -f | |
done | |
git checkout master |
My fix would be to only grab the version (using tr -dc
) and add a manual check before commit/push:
diff --git a/fix-tag-history.sh b/fix-tag-history.sh
index 1d0d93d..32fc2b6 100644
--- a/fix-tag-history.sh
+++ b/fix-tag-history.sh
@@ -8,12 +8,18 @@ for tag in "${tags[@]}"; do
## checkout `setup.sh` from master branch with latest changes
git checkout master -- setup.sh
## get current version
- declare version="$(bpkg package version)"
+ declare version="$(echo "$(bpkg package version | tr -dc '0-9.')")"
## version replacement regex for `sed(1)`
declare regex="s/VERSION=.*/VERSION=\"$version\"/g"
## set versions in files
sed -i "$regex" bpkg.sh
sed -i "$regex" setup.sh
+
+ git diff
+
+ echo 'Please check the repository content'
+ read -r -s -n 1 -p "<Press any key to continue>"
+
## remove current tag
git tag -d "$tag"
## amend HEAD for current tag
okay I hope bpkg/bpkg#151 fixes this
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@jwerle Running this one the repo:
Returns:
So it looks like:
0.0.2
to0.3.2
return the version in quotes, prefixed with a space)1.0.0
and1.0.1
return the version in quotes prefixed with["version"]
1.0.4
to1.1.0
return only the version, without newline1.1.1
and1.1.2
return the version, with newline