*** contrib/client-side/asvn.orig Sun Jan 27 16:24:25 2008 --- contrib/client-side/asvn Thu May 29 11:52:55 2008 *************** *** 1,4 **** ! #!/bin/bash #------------------------------------------------------------------------- # Author: Ross Mark (rossm@controllingedge.com.au) # Date: Tue Mar 11 10:02:57 EST 2003 --- 1,4 ---- ! #!/usr/local/bin/bash #------------------------------------------------------------------------- # Author: Ross Mark (rossm@controllingedge.com.au) # Date: Tue Mar 11 10:02:57 EST 2003 *************** *** 52,58 **** TMPFILE2=/tmp/asvn.tmp2.$$ PCWD=`/bin/pwd` SKIPSVN='\( -name .svn -prune -false \)' ! PRINTDETAILS="-printf \"file='%p' mode=%m user=%u(%U) group=%g(%G)\n\"" trap cleanup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 --- 52,58 ---- TMPFILE2=/tmp/asvn.tmp2.$$ PCWD=`/bin/pwd` SKIPSVN='\( -name .svn -prune -false \)' ! PRINTDETAILS="-printf \"file='%p' mode=%m user=(%U) group=(%G)\n\"" trap cleanup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 *************** *** 64,70 **** function basedirname() { refname="$1" ! dir="`dirname \"$2\"`" ref="`expr \"$dir\" : \"$refname/\(.*\)\"`" if [ -z "$ref" ] then --- 64,71 ---- function basedirname() { refname="$1" ! shift ! dir="`dirname \"$*\"`" ref="`expr \"$dir\" : \"$refname/\(.*\)\"`" if [ -z "$ref" ] then *************** *** 111,117 **** function recorddirinfo { ! eval "find $PCWD $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist do updatedirsymlinks $1 "$dirlist" updatedirdevices $1 "$dirlist" --- 112,118 ---- function recorddirinfo { ! eval "gfind \"$PCWD\" $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist do updatedirsymlinks $1 "$dirlist" updatedirdevices $1 "$dirlist" *************** *** 132,140 **** # # Obtain the list of devices in this directory # ! find "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename \"$dir\"`" -prune | while read file do ! echo -n `find "$file" -printf "file='%f' mode=%m user=%u(%U) group=%g(%G)"` [ -b "$file" ] && echo -n ' type=b' [ -c "$file" ] && echo -n ' type=c' [ -p "$file" ] && echo ' type=p' --- 133,141 ---- # # Obtain the list of devices in this directory # ! gfind "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename \"$dir\"`" -prune | while read file do ! echo -n `gfind "$file" -printf "file='%f' mode=%m user=%u(%U) group=%g(%G)"` [ -b "$file" ] && echo -n ' type=b' [ -c "$file" ] && echo -n ' type=c' [ -p "$file" ] && echo ' type=p' *************** *** 200,208 **** grep -q "$info" $TMPFILE && continue # This line still matches file="`expr \"$info\" : \"file='\(.*\)' \"`" mode=`expr "$info" : ".*' mode=\([0-9]*\) "` ! user=`expr "$info" : ".* user=\([^(]*\)("` uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "` ! group=`expr "$info" : ".* group=\([^(]*\)("` gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "` type=`expr "$info" : ".* type=\(.\)"` major=`expr "$info" : ".* major=\([0-9]*\)"` --- 201,209 ---- grep -q "$info" $TMPFILE && continue # This line still matches file="`expr \"$info\" : \"file='\(.*\)' \"`" mode=`expr "$info" : ".*' mode=\([0-9]*\) "` ! # user=`expr "$info" : ".* user=\([^(]*\)("` uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "` ! # group=`expr "$info" : ".* group=\([^(]*\)("` gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "` type=`expr "$info" : ".* type=\(.\)"` major=`expr "$info" : ".* major=\([0-9]*\)"` *************** *** 213,219 **** # rm -f "$dir/$file" mknod --mode=$mode "$dir/$file" $type $major $minor ! chown $user:$group "$dir/$file" addignorefile "$dir/$file" done fi --- 214,221 ---- # rm -f "$dir/$file" mknod --mode=$mode "$dir/$file" $type $major $minor ! # chown $user:$group "$dir/$file" ! chown $uid:$gid "$dir/$file" addignorefile "$dir/$file" done fi *************** *** 234,240 **** # # Obtain the list of symlinks in this directory # ! find "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename \"$dir\"`" -prune | sort >$TMPFILE # --- 236,242 ---- # # Obtain the list of symlinks in this directory # ! gfind "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename \"$dir\"`" -prune | sort >$TMPFILE # *************** *** 300,306 **** if [ -L "$dir/$file" ] then ! [ "`find \"$dir/$file\" -printf '%l'`" = "$dest" ] && continue fi rm -f "$dir/$file" ln -s "$dest" "$dir/$file" --- 302,308 ---- if [ -L "$dir/$file" ] then ! [ "`gfind \"$dir/$file\" -printf '%l'`" = "$dest" ] && continue fi rm -f "$dir/$file" ln -s "$dest" "$dir/$file" *************** *** 320,326 **** # Find all the directories and files cp /dev/null $TMPFILE ! eval "find $PCWD $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info do device=`expr "$info" : "file='\(.*\)' mode"` info=`expr "$info" : "file='.*' \(mode.*\)"` --- 322,328 ---- # Find all the directories and files cp /dev/null $TMPFILE ! eval "gfind \"$PCWD\" $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info do device=`expr "$info" : "file='\(.*\)' mode"` info=`expr "$info" : "file='.*' \(mode.*\)"` *************** *** 343,357 **** else info=`$SVN propget $FILE_PROP "$dir/$file"` mode=`expr "$info" : "mode=\([0-9]*\) "` ! user=`expr "$info" : ".* user=\([^(]*\)("` uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "` ! group=`expr "$info" : ".* group=\([^(]*\)("` gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "` if [ "$user" = "" -o "$group" = "" -o "$mode" = "" ] then echo "property $FILE_PROP not set for $dir/$file" else ! chown $user:$group "$dir/$file" chmod $mode "$dir/$file" fi fi --- 345,360 ---- else info=`$SVN propget $FILE_PROP "$dir/$file"` mode=`expr "$info" : "mode=\([0-9]*\) "` ! # user=`expr "$info" : ".* user=\([^(]*\)("` uid=`expr "$info" : ".* user=[^(]*(\([0-9]*\) "` ! # group=`expr "$info" : ".* group=\([^(]*\)("` gid=`expr "$info" : ".* group=[^(]*(\([0-9]*\) "` if [ "$user" = "" -o "$group" = "" -o "$mode" = "" ] then echo "property $FILE_PROP not set for $dir/$file" else ! # chown $user:$group "$dir/$file" ! chown $uid:$gid "$dir/$file" chmod $mode "$dir/$file" fi fi *************** *** 391,397 **** [ "$ACTION" = "pre" ] && pre_checkin $@ ! $SVN $@ [ $? = 0 -a "$ACTION" = "post" ] && post_checkout $@ --- 394,400 ---- [ "$ACTION" = "pre" ] && pre_checkin $@ ! $SVN "$@" [ $? = 0 -a "$ACTION" = "post" ] && post_checkout $@