+
+ local this_branch="$(my_branch_name)"
+
+#we want my branch here, don't we? not like parent or anything?
+ check_branch_state "$this_branch"
+ state=$?
+ test_or_continue "branch state check"
+ echo the branch state is $state
+#need to instead do something here if fails.
+# above is worse than useless code; in the situations i'm seeing fail, it reports no changes. *&@#*&@#
+
+echo DOING BRANCH WALKER
+ # the above are just not enough. this code is now doing what i have to do when i repair the repo.
+ local branch_list=$(git branch |grep -v '^\*')
+ local bran
+ for bran in $branch_list; do
+echo GETTING LATEST ON: $bran
+ git checkout "$bran"
+ test_or_die "git checking out remote branch: $bran"
+ git pull --no-ff
+ test_or_die "git pull of remote branch: $bran"
+ done
+ # now switch back to our branch.
+ git checkout "$this_branch"
+ test_or_die "git checking out our current branch: $this_branch"
+
+echo NOW REMOTE UPDATE
+
+ # first update all our remote branches to their current state from the repos.
+ git remote update
+ test_or_die "git remote update"
+
+echo NOW THE FULL PULL
+ # now pull down any changes in our own origin in the repo, to stay in synch
+ # with any changes from others.
+ git pull --no-ff --all
+ test_or_die "git pulling all upstream"
+
+echo DONE CAREFUL UPDATE
+
+ return 0
+
+# below has older shards of partial knowledge.
+
+# reslog=$(git log HEAD..origin/master --oneline)
+# if [[ "${reslog}" != "" ]] ; then
+# git merge origin/master
+
+# # from very helpful page:
+# # https://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches
+# for remote in $( git branch -r | grep -v -- '->' ); do
+# git branch --track ${remote#origin/} $remote 2>/dev/null
+##hmmm: ignoring errors from these, since they are continual.
+##hmmm: if we could find a way to not try to track with a local branch when there's already one present, that would be swell. it's probably simple.
+# done
+#
+##hmmm: well, one time it failed without the fetch. i hope that's because the fetch is actually needed and not because the whole approach is fubar.
+# git fetch --all 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
+# test_or_die "git fetch"
+#
+# git pull --all 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
+# test_or_die "git pull"
+