normalized perms on all files, to avoid relying on any stored executable bits in...
[feisty_meow.git] / scripts / rev_control / push_repo_upstream.sh
1 #!/bin/bash
2
3 # this script updates a "relay" repository (let us call it B) that is used
4 # to mirror things from repository A (the source) into another repository C
5 # (the target).
6 # this is useful, for example, to maintain one's own master git archive for
7 # a codebase, but also push updates for that codebase into a sourceforge git
8 # repository.
9 #
10 # rats: how did i set up that archive?
11 #       we need to have those steps someplace.
12
13 dir="$1"; shift
14 if [ -z "$dir" ]; then
15   dir=.
16 fi
17
18 # this file needs to have our sourceforge password in it.
19 PASSWORD_FILE="$HOME/.secrets/sourceforge_password"
20
21 if [ ! -f "$PASSWORD_FILE" ]; then
22   echo "This script requires a password stored in the file:"
23   echo "  $PASSWORD_FILE"
24   exit 1
25 fi
26
27 pushd "$dir"
28 git fetch upstream
29 git merge upstream/master
30 unset GIT_SSH
31 git push origin master <"$PASSWORD_FILE"
32 popd
33
34