X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fquick_git_release.sh;h=b2e5b5952807de433a7804769b5f5a78a61a1b85;hb=75e66066d10becd098b7e5e653c43cbd5de3e058;hp=654b0aba854dbee9c4dee073738293eaecacfd16;hpb=cc254023d3ffae82d8d2dfec95abfa933192a06b;p=feisty_meow.git diff --git a/scripts/rev_control/quick_git_release.sh b/scripts/rev_control/quick_git_release.sh index 654b0aba..b2e5b595 100644 --- a/scripts/rev_control/quick_git_release.sh +++ b/scripts/rev_control/quick_git_release.sh @@ -1,6 +1,6 @@ #!/bin/bash -# a simple and quick method for making a new release, merging it into the master branch, +# a simple and quick method for making a new release, merging it into the main branch, # and tagging it with a new tag for the release. # currently needs to be told the new release name, which is actually also gotten from # the "next_version" script. if these differ, there will be confusion for users about @@ -15,7 +15,7 @@ source $FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh # + better if we could get the version automatically, but there is a circular dependency where we want to check out the new branch by version number. # these are the steps i take on feisty meow when i have a dev branch that is -# ready to merge in to the master branch as a new release. the process +# ready to merge in to the main branch as a new release. the process # includes adding the tag for the new release and such. there are manual # steps for adding the commit comments, including an introspection phase # with gitk before the release commit comment is created. @@ -37,69 +37,94 @@ branch name and release tag name of the new release. pushd $FEISTY_MEOW_APEX # make up a release name based on the version number. local new_release="release-${new_version}" + + echo "About to create the release called '$new_release' as a branch" + echo "on the git repository -- please 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 + # make a new branch for the release based on the dev branch. -echo about to git checkout--hit enter -read line 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--hit enter -read line +#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--hit enter -read line +#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--hit enter -read line - git checkout master - exit_on_error checking out master branch - # merge the master branch with the new release. -echo about to merge--hit enter -read line + # grab out the main branch as the active one. +#echo about to check out main--hit enter +#read line + git checkout main + exit_on_error checking out main branch + + rpuffer + exit_on_error running rpuffer on main branch to update it + + # merge the main branch with the new release. +#echo about to merge--hit enter +#read line git merge --no-ff $new_release - exit_on_error merging in the new release in master + exit_on_error merging in the new release in main + # let the committer see the most recent changes. + echo echo "=> launching gitk to show you the full set of changes;" echo "=> please prepare an excellent commit comment." gitk - exit_on_error launching gitk + continue_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--hit enter -read line +#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--hit enter -read line + + # commit the full set of changes for the main branch now, including the tags. +#echo about to commit main branch with all those changes--hit enter +#read line rcheckin . - exit_on_error checking in the changes in master branch + exit_on_error checking in the changes in main branch + # switch back to the dev branch. -echo switching to dev branch--hit enter -read line +#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--hit enter -read line + + # merge in the latest changes from main, which should only be the revised version really. +#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 +#echo pushing merged dev branch up + + # now update anything from our merged state in remote. 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' + echo -e "\ncompleted the release of version $new_version\n" # back to where we started. popd