X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fquick_git_release.sh;h=1a3ccf395999e8abb42a3986695eb84e9656bbd6;hb=95a9cdaee75ef51ff637e80c4bb0e4b9beebb547;hp=36752ec07e83f68718410cfd1eb3d9254339a016;hpb=47d916addad4e4c3b4f0e1106b09c6d4b541e767;p=feisty_meow.git diff --git a/scripts/rev_control/quick_git_release.sh b/scripts/rev_control/quick_git_release.sh index 36752ec0..1a3ccf39 100644 --- a/scripts/rev_control/quick_git_release.sh +++ b/scripts/rev_control/quick_git_release.sh @@ -38,67 +38,88 @@ branch name and release tag name of the new release. # make up a release name based on the version number. local new_release="release-${new_version}" # make a new branch for the release based on the dev branch. -echo about to git checkout +echo about to git checkout--hit enter read line + + # make sure we're working on the dev branch, since that's where our releases come from. + git checkout dev + exit_on_error checking out the dev branch + + # inflate all the git branches we might need, getting all their latest. + rpuffer + exit_on_error running rpuffer on the dev branch to update it + + # branch off our new release as its own entity. git checkout -b $new_release dev exit_on_error checking out a new branch called $new_release + # bump feisty meow version. bash ./scripts/generator/next_version.sh exit_on_error bumping version for feisty meow codebase + # check in the changes in the new release branch, which now includes a revised version. -echo about to commit +echo about to commit--hit enter read line git commit -a exit_on_error committing all changes # not sure if we really need to check in the release branch as a remote, but we like to see it in the list. -echo about to push new release branch +echo about to push new release branch--hit enter read line git push --set-upstream origin "$new_release" # grab out the master branch as the active one. -echo about to check out master +echo about to check out master--hit enter read line git checkout master exit_on_error checking out master branch + + rpuffer + exit_on_error running rpuffer on master branch to update it + # merge the master branch with the new release. -echo about to merge +echo about to merge--hit enter read line git merge --no-ff $new_release exit_on_error merging in the new release in master # let the committer see the most recent changes. echo "=> launching gitk to show you the full set of changes;" - echo "=> please prepare a kick-ass commit comment." + echo "=> please prepare an excellent commit comment." gitk exit_on_error launching gitk # now make a tag for the new release, which is where we should go crazy with the detailed # and useful comments for what has changed in this release, gathered from the gitk that # we just launched. this should include all of the work on the development branch since # the last release... -echo about to TAG +echo about to TAG--hit enter read line git tag -a $new_version exit_on_error tagging new version as $new_version # commit the full set of changes for the master branch now, including the tags. -echo about to commit master branch with all those changes +echo about to commit master branch with all those changes--hit enter read line rcheckin . exit_on_error checking in the changes in master branch # switch back to the dev branch. -echo switching to dev branch +echo switching to dev branch--hit enter read line git checkout dev exit_on_error checking the dev branch out again # merge in the latest changes from master, which should only be the revised version really. -echo merging in from release branch to dev +echo merging in from release branch to dev--hit enter read line git merge --no-ff $new_release exit_on_error merging the release changes into the dev branch +echo pushing merged dev branch up + git push + exit_on_error pushing merged dev branch up + + # done with the serious actions. + echo -e "\ncompleted the release of version $new_version\n" + # back to where we started. popd } - make_new_feisty_meow_release "$1" -