# a late breaking action is to set the editor, if we can.
# we will fallback to whatever we can find on the host.
export EDITOR
-if [ ! -z "$DISPLAY" ]; then
- # only try to add bluefish, a gui editor, if there is an X display for it.
- if [ -z "$EDITOR" ]; then
- EDITOR="$(which bluefish)"
- fi
-fi
+# note: the editors for revision control must wait while the document is
+# edited, so gvim and others that launch a separate x window are not
+# going to work well unless they can be prevented from forking the process
+# off.
if [ -z "$EDITOR" ]; then
EDITOR="$(which gvim)"
if [ ! -z "$EDITOR" ]; then
if [ -z "$EDITOR" ]; then
EDITOR="$(which vi)"
fi
-##
+if [ -z "$EDITOR" ]; then
+ EDITOR="$(which emacs)"
+fi
+####
# out of ideas about editors at this point.
-##
-# set the VISUAL variable from EDITOR if we found an editor to use.
+####
+# set the VISUAL and other variables from EDITOR if we found an editor to use.
if [ ! -z "$EDITOR" ]; then
VISUAL="$EDITOR"
+
+ export GIT_EDITOR="$EDITOR"
+ export SVN_EDITOR="$EDITOR"
fi
##############
# set our browser for seti and others that use the variable.
# export BROWSER=/usr/bin/firefox
- # editor and other mixed settings...
- export EDITOR="$(which gvim)"
- if [ -z "$EDITOR" ]; then
- export EDITOR="$(which vim)"
- else
- # special case for gvim; tell it not to fork or we can't wait for it.
- EDITOR+=" --nofork"
- fi
- if [ -z "$EDITOR" ]; then
- EDITOR="$(which vi)"
- fi
- if [ -z "$EDITOR" ]; then
- EDITOR="$(which emacs)"
- fi
- if [ -z "$EDITOR" ]; then
- echo "Cannot find a friendly editor."
- fi
- export VISUAL="$EDITOR"
- # the editors for revision control must wait while document is edited,
- # so gvim and others launched to x window are not appropriate.
- export GIT_EDITOR="$EDITOR"
- export SVN_EDITOR="$EDITOR"
-
- # this hideous mess is necessitated by our not having found the source of the
- # settings yet. we override a few colors that look bad on a dark background.
+ # this hideous mess is necessitated by our not having found the source of
+ # the "ls" color settings yet. we override a few colors that look bad on
+ # a dark background.
export LS_COLORS='no=00:fi=00:di=01;37:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;35:*.rpm=00;33:*.deb=00;33:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;35:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;35:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'
# options for the lame mp3 encoder.
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
+#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--hit enter
-read line
+#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
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--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
+#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--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
+#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"
-