X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fquick_git_release.sh;h=e37aca80feb305602ffab3f5b9fb8b3bdb55deab;hb=b4f6c54a3726553a6f0f6c2ba017d0195c01344d;hp=02b04a598092c77a8ef914b91eef010b05961bc8;hpb=95267652447ba12721448603700c4c0652bef067;p=feisty_meow.git diff --git a/scripts/rev_control/quick_git_release.sh b/scripts/rev_control/quick_git_release.sh index 02b04a59..e37aca80 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,62 +37,98 @@ 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 -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 -echo about to commit -read line + # check in the changes in the new release branch, which now includes a revised version. +#echo about to commit--hit enter +#read line git commit -a exit_on_error committing all changes -echo about to check out master -read line - # grab out the master branch as the active one. - git checkout master - exit_on_error checking out master branch -echo about to merge -read line - # merge the master branch with the new release. + + # 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 + git push --set-upstream origin "$new_release" + + # 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 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 -read line +#echo about to TAG--hit enter +#read line git tag -a $new_version exit_on_error tagging new version as $new_version -echo about to commit master branch with all those changes -read line - # commit the full set of changes for the master branch now, including the tags. + + # 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 -echo switching to dev branch -read line + 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 git checkout dev exit_on_error checking the dev branch out again -echo merging in from master -read line - # merge in the latest changes from master, which should only be the revised version really. + + # 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 + + # 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" + # back to where we started. popd } - make_new_feisty_meow_release "$1" -