X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fpush_repo_downstream.sh;h=910efd06d84437d57bdb6324ca567dad2d5c10b4;hb=ac0743f0d59ced44a36a9c58b8c1520671f8c932;hp=de455a85a7c4e4fa79ba7d8a2be1d252cdf63c00;hpb=8a892026e1b7abee9354a205ded3488580e90b6a;p=feisty_meow.git diff --git a/scripts/rev_control/push_repo_downstream.sh b/scripts/rev_control/push_repo_downstream.sh index de455a85..910efd06 100644 --- a/scripts/rev_control/push_repo_downstream.sh +++ b/scripts/rev_control/push_repo_downstream.sh @@ -5,14 +5,24 @@ # the downstream destination might be a github or sourceforge repository that is # loaded from a personal repository or server. # +# it is assumed that you have already added your ssh key to your github account. +# # to set up the repository for relaying downstream, just do the normal checkout # or clone on it from the real origin. for example: # -# $ git clone git://feistymeow.org/feisty_meow +# $ git clone git://feistymeow.org/feisty_meow feisty_relay +# +# change into that new directory: +# +# $ pushd feisty_relay # # and then add the downstream remote repository: # -# $ git remote add downstream https://github.com/fredhamster/feisty_meow.git +# # github example of add: +# $ git remote add downstream git@github.com:fredhamster/feisty_meow.git +# +# # sourceforge example of add: +# $ git remote add downstream ssh://fred_t_hamster@git.code.sf.net/p/feistymeow/trunk # # once the repository has been created, you can synch all updates that # have been checked into the origin repository with the downstream version @@ -20,27 +30,31 @@ # # 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" + +# 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 pull - -# get everything from the origin. -git pull - -# turn off occasionally troublesome setting before checkin. -unset GIT_SSH +pushd "$dir" &>/dev/null +test_or_die "changing to directory: $dir" +tempfile=$(generate_rev_ctrl_filelist) +test_or_die "generating revision control file list" +popd &>/dev/null -# send the little boat down the stream to the dependent repository. -git push origin master <"$PASSWORD_FILE" +perform_revctrl_action_on_file "$tempfile" do_careful_git_update +test_or_die "doing a careful git update on: $tempfile" -popd +# send our little boat down the stream to the dependent repository. +git push downstream master +test_or_die "running the git push downstream" +popd &>/dev/null