X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=scripts%2Frev_control%2Fversion_control.sh;h=d1b892e0eb44181637277a702d60eb5e53fbb5cd;hb=7e7383cf9baf945f6e86af15f59165003eafc803;hp=e3e0c4b17c1132835f36787d4a4e0c7613e78857;hpb=e0631527cb5b815dc0fb609f9970f91299c3d98c;p=feisty_meow.git diff --git a/scripts/rev_control/version_control.sh b/scripts/rev_control/version_control.sh index e3e0c4b1..d1b892e0 100644 --- a/scripts/rev_control/version_control.sh +++ b/scripts/rev_control/version_control.sh @@ -3,8 +3,9 @@ # these are helper functions for doing localized revision control. # this script should be sourced into other scripts that use it. +#hmmm: re-address this code, since it doesn't make a lot of sense to me right now... # one unpleasantry to take care of first; cygwin barfs aggressively if the TMP directory -# is a DOS path, but we need it to be a DOS path for our XSEDE testing, so that blows. +# is a DOS path, but we need it to be a DOS path for our GFFS testing, so that blows. # to get past this, TMP gets changed below to a hopefully generic and safe place. if [[ "$TMP" =~ .:.* ]]; then @@ -191,7 +192,7 @@ function squash_first_few_crs() i=0 while read line; do i=$((i+1)) - if [ $i -le 3 ]; then + if [ $i -le 5 ]; then echo -n "$line " else echo $line @@ -255,11 +256,11 @@ function generate_rev_ctrl_filelist() { local dir="$1"; shift pushd "$dir" &>/dev/null - local dirhere="$(\pwd)" + local dirhere="$( \cd "$(\dirname "$dir")" && \pwd )" local tempfile=$(mktemp /tmp/zz_rev_checkin.XXXXXX) echo >$tempfile - find $dirhere -maxdepth 5 -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile - find $dirhere -maxdepth 5 -type d -iname ".git" -exec echo {}/.. ';' >>$tempfile + find $dirhere -follow -maxdepth 5 -type d -iname ".svn" -exec echo {}/.. ';' >>$tempfile 2>/dev/null + find $dirhere -follow -maxdepth 5 -type d -iname ".git" -exec echo {}/.. ';' >>$tempfile 2>/dev/null # CVS is not well behaved like git and (now) svn, and we seldom use it anymore. popd &>/dev/null local sortfile=$(mktemp /tmp/zz_rev_checkin_sort.XXXXXX) @@ -270,21 +271,19 @@ function generate_rev_ctrl_filelist() # iterates across a list of directories contained in a file (first parameter). # on each directory name, it performs the action (second parameter) provided. -function perform_action_on_file() +function perform_revctrl_action_on_file() { local tempfile="$1"; shift local action="$1"; shift - dirs=($(cat $tempfile)) - - for dirname in ${dirs[@]}; do + while read -u 3 dirname; do if [ -z "$dirname" ]; then continue; fi - pushd $dirname &>/dev/null + pushd "$dirname" &>/dev/null echo "[$(pwd)]" $action . echo "=======" popd &>/dev/null - done + done 3<"$tempfile" rm $tempfile }