git commit .
test_or_die "git commit"
fi
- # upload the files to the server so others can see them.
- git push 2>&1 | grep -v "X11 forwarding request failed"
- if [ ${PIPESTATUS[0]} -ne 0 ]; then false; fi
- test_or_die "git push"
++
+# # upload the files to the server so others can see them.
+# git push 2>&1 | grep -v "X11 forwarding request failed"
+# if [ ${PIPESTATUS[0]} -ne 0 ]; then false; fi
+# test_or_die "git push"
+
+ # catch if the diff-index failed somehow.
+ test_or_die "git diff-index"
+
+ # we continue on to the push, even if there were no changes this time, because
+ # there could already be committed changes that haven't been pushed yet.
+
+ local myself="$(my_branch_name)"
+ local parent="$(parent_branch_name)"
+
+ # upload any changes to the upstream repo so others can see them.
+ if [ "$myself" != "$parent" ]; then
+ git push origin "$(myself)" 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
+ test_or_die "git push to origin: $myself"
+ else
+ # this branch is the same as the parent, so just push.
+ git push 2>&1 | grep -v "X11 forwarding request failed" | $TO_SPLITTER
+ test_or_die "normal git push"
+ fi
+
fi
else
# nothing there. it's not an error though.