3 # these are helper functions for doing localized revision control.
4 # this script should be sourced into other scripts that use it.
6 # one unpleasantry to take care of first; cygwin barfs aggressively if the TMP directory
7 # is a DOS path, but we need it to be a DOS path for our XSEDE testing, so that blows.
8 # to get past this, TMP gets changed below to a hopefully generic and safe place.
10 export TMP=/tmp/rev_control
11 if [ ! -d "$TMP" ]; then
14 if [ ! -d "$TMP" ]; then
15 echo "Could not create the temporary directory TMP in: $TMP"
16 echo "This script will not work properly without an existing TMP directory."
20 # gets the machine's hostname and stores it in the variable "this_host".
21 function get_our_hostname()
23 if [ "$OS" == "Windows_NT" ]; then
25 elif [ ! -z "$(echo $MACHTYPE | grep apple)" ]; then
27 elif [ ! -z "$(echo $MACHTYPE | grep suse)" ]; then
28 this_host=$(hostname --long)
32 #echo "hostname is $this_host"
35 # this function sets a variable called "home_system" to "true" if the
36 # machine is considered one of fred's home machines. if you are not
37 # fred, you may want to change the machine choices.
39 function is_home_system()
41 # load up the name of the host.
43 # reset the variable that we'll be setting.
45 if [[ $this_host == *.gruntose.blurgh ]]; then
48 elif [[ $this_host == buildy ]]; then
50 elif [[ $this_host == simmy ]]; then
56 # we only want to totally personalize this script if the user is right.
59 if [ "$USER" == "fred" ]; then
60 export SVNUSER=fred_t_hamster@
61 export EXTRA_PROTOCOL=+ssh
64 export EXTRA_PROTOCOL=
68 # calculates the right modifier for hostnames / repositories.
70 function compute_modifier()
76 # some project specific overrides.
77 if [[ "$directory" == hoople* ]]; then
78 modifier="svn${EXTRA_PROTOCOL}://${SVNUSER}svn.code.sf.net/p/hoople2/svn/"
80 if [[ "$directory" == yeti* ]]; then
81 modifier="svn${EXTRA_PROTOCOL}://${SVNUSER}svn.code.sf.net/p/yeti/svn/"
83 # see if we're on one of fred's home machines.
85 # special override to pick local servers when at home.
86 if [ "$home_system" == "true" ]; then
87 if [ "$in_or_out" == "out" ]; then
88 # need the right home machine for modifier when checking out.
89 modifier="svn://shaggy/"
91 # no modifier for checkin.