naming fixes, terminal title fixes
[feisty_meow.git] / scripts / rev_control / push_repo_downstream.sh
index 2f4e3db1d2647e616632eb3d88d2053811e18e8b..50f8d80aa63f532851dc241ba241073c4e74753c 100644 (file)
 #
 # push_repo_downstream ~/relay_repo_folder
 
-#hmmm: make this support multiple dirs?
+source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
+source "$FEISTY_MEOW_SCRIPTS/rev_control/version_control.sh"
+
+save_terminal_title
+
+# turn off occasionally troublesome setting before checkin.
+unset GIT_SSH
+
+##############
 
 dir="$1"; shift
 if [ -z "$dir" ]; then
   dir=.
 fi
 
-pushd "$dir"
-
-# get everything from the origin.
-git fetch origin
-test_or_die "running git fetch origin"
+pushd "$dir" &>/dev/null
+exit_on_error "changing to directory: $dir"
+tempfile=$(generate_rev_ctrl_filelist)
+exit_on_error "generating revision control file list"
 
-# turn off occasionally troublesome setting before checkin.
-unset GIT_SSH
+perform_revctrl_action_on_file "$tempfile" do_revctrl_careful_update
+exit_on_error "doing a careful update on: $tempfile"
 
-# send the little boat down the stream to the dependent repository.
-git push downstream master
-test_or_die "running the git push downstream"
+# seems to be needed to cause a merge to be resolved.
+git pull downstream master
+# -m "unfortunate merge"
+exit_on_error "running the git pull downstream master"
 
-popd
+# send our little boat down the stream to the dependent repository.
+git push --tags downstream master
+exit_on_error "running the git push downstream master"
 
+popd &>/dev/null
 
+restore_terminal_title