Skip to content

Commit

Permalink
Fix overly match-happy sed commands
Browse files Browse the repository at this point in the history
We saw in cisagov/postfix-docker#47 that the sed commands in the
bump_version.sh script could inadvertently match the CC0 version in
the README.md file.  This change escapes the periods in the version
before passing it on to sed so that they only match periods and not
just any character.
  • Loading branch information
jsf9k authored and mcdonnnj committed Jan 7, 2023
1 parent 94f78f9 commit 56c90d6
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions bump_version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ VERSION_FILE=src/example/_version.py
HELP_INFORMATION="bump_version.sh (show|major|minor|patch|prerelease|build|finalize)"

old_version=$(sed -n "s/^__version__ = \"\(.*\)\"$/\1/p" $VERSION_FILE)
# Comment out periods so they are interpreted as periods and don't
# just match any character
old_version_regex=${old_version//\./\\\.}

if [ $# -ne 1 ]; then
echo "$HELP_INFORMATION"
Expand All @@ -22,7 +25,7 @@ else
# A temp file is used to provide compatability with macOS development
# as a result of macOS using the BSD version of sed
tmp_file=/tmp/version.$$
sed "s/$old_version/$new_version/" $VERSION_FILE > $tmp_file
sed "s/$old_version_regex/$new_version/" $VERSION_FILE > $tmp_file
mv $tmp_file $VERSION_FILE
git add $VERSION_FILE
git commit -m"Bump version from $old_version to $new_version"
Expand All @@ -34,10 +37,10 @@ else
# A temp file is used to provide compatability with macOS development
# as a result of macOS using the BSD version of sed
tmp_file=/tmp/version.$$
sed "s/$old_version/$new_version/" $VERSION_FILE > $tmp_file
sed "s/$old_version_regex/$new_version/" $VERSION_FILE > $tmp_file
mv $tmp_file $VERSION_FILE
git add $VERSION_FILE
git commit -m"Bump version from $old_version to $new_version"
git commit -m"Finalize version from $old_version to $new_version"
git push
;;
show)
Expand Down

0 comments on commit 56c90d6

Please sign in to comment.