source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
source "$FEISTY_MEOW_SCRIPTS/tty/terminal_titler.sh"
+#hmmm: we need to dump all the outputs in this script into splitter
+
##############
# the maximum depth that the recursive functions will try to go below the starting directory.
export MAX_DEPTH=5
+# use our splitter tool for lengthy output if it's available.
+if [ ! -z "$(which splitter)" ]; then
+ TO_SPLITTER='| splitter'
+fi
+
+##############
+
# one unpleasantry to take care of first; cygwin barfs aggressively if the TMP directory
# is a DOS path, but we need it to be a DOS path for our GFFS testing, so that blows.
# to get past this, TMP gets changed below to a hopefully generic and safe place.
# catch if the diff-index failed somehow.
retval+=$?
+ local myself="$(my_branch_name)"
+ local parent="$(parent_branch_name)"
+
# upload any changes to the upstream repo so others can see them.
- git push 2>&1 | grep -v "X11 forwarding request failed" | squash_first_few_crs
- retval+=${PIPESTATUS[0]}
+ if [ "$myself" != "$parent" ]; then
+ git push origin "$(myself)" 2>&1 | grep -v "X11 forwarding request failed" $TO_SPLITTER
+ retval+=${PIPESTATUS[0]}
+ else
+ # this branch is the same as the parent, so just push.
+ git push 2>&1 | grep -v "X11 forwarding request failed" $TO_SPLITTER
+ retval+=${PIPESTATUS[0]}
+ fi
+
fi
else
# nothing there. it's not an error though.
fi
}
+# a helpful method that reports the git branch for the current directory's
+# git repository.
+function my_branch_name()
+{
+ echo "$(git branch | grep \* | cut -d ' ' -f2)"
+}
+
+# this reports the upstream branch for the current repo.
+function parent_branch_name()
+{
+ echo "$(git branch -vv | grep \* | cut -d ' ' -f2)"
+}
+
# gets the latest versions of the assets from the upstream repository.
function do_update()
{
elif [ -d ".git" ]; then
if test_writeable ".git"; then
$blatt
- git pull origin master 2>&1 | grep -v "X11 forwarding request failed" | squash_first_few_crs
- retval=${PIPESTATUS[0]}
- git pull 2>&1 | grep -v "X11 forwarding request failed" | squash_first_few_crs
+ retval=0
+
+ # from very helpful page:
+ # https://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches
+ git branch -r | grep -v '\->' |
+ while read remote; do
+ git branch --track "${remote#origin/}" "$remote"
+ # ensure we notice a failure when adding tracking.
+ retval+=$?
+ done
+ retval+=${PIPESTATUS[0]}$?
+
+ git fetch --all 2>&1 | grep -v "X11 forwarding request failed" $TO_SPLITTER
+ retval+=${PIPESTATUS[0]}
+
+ git pull --all 2>&1 | grep -v "X11 forwarding request failed" $TO_SPLITTER
retval+=${PIPESTATUS[0]}
fi
else