summaryrefslogtreecommitdiff
path: root/devel/subversion-freebsd/files/patch-contrib--client-side--asvn
diff options
context:
space:
mode:
Diffstat (limited to 'devel/subversion-freebsd/files/patch-contrib--client-side--asvn')
-rw-r--r--devel/subversion-freebsd/files/patch-contrib--client-side--asvn185
1 files changed, 153 insertions, 32 deletions
diff --git a/devel/subversion-freebsd/files/patch-contrib--client-side--asvn b/devel/subversion-freebsd/files/patch-contrib--client-side--asvn
index 07f339d29ed5..c8be147d7d77 100644
--- a/devel/subversion-freebsd/files/patch-contrib--client-side--asvn
+++ b/devel/subversion-freebsd/files/patch-contrib--client-side--asvn
@@ -1,14 +1,12 @@
--- contrib/client-side/asvn.orig Tue Jun 15 06:02:44 2004
-+++ contrib/client-side/asvn Thu May 18 16:05:43 2006
-@@ -36,6 +36,7 @@
- #
- #
++++ contrib/client-side/asvn Mon Sep 11 17:07:04 2006
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/local/bin/bash
#-------------------------------------------------------------------------
-+EDITOR?=vi
- SVN=/usr/local/bin/svn
- ACTION=""
- DEV_PROP="dir:devices"
-@@ -46,7 +47,7 @@
+ # Author: Ross Mark (rossm@controllingedge.com.au)
+ # Date: Tue Mar 11 10:02:57 EST 2003
+@@ -46,7 +46,7 @@
TMPFILE2=/tmp/asvn.tmp2.$$
PCWD=`/bin/pwd`
SKIPSVN='\( -name .svn -prune -false \)'
@@ -17,27 +15,91 @@
trap cleanup 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
-@@ -105,7 +106,7 @@
+@@ -58,7 +58,8 @@
+ function basedirname()
+ {
+ refname="$1"
+- dir="`dirname $2`"
++ shift
++ dir="`dirname \"$*\"`"
+ ref=`expr "$dir" : "$refname/\(.*\)"`
+ if [ -z "$ref" ]
+ then
+@@ -105,10 +106,10 @@
function recorddirinfo
{
- eval "find $PCWD $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist
-+ eval "gfind $PCWD $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist
++ eval "gfind \"$PCWD\" $SKIPSVN -o \( -type d ! -name .svn -print \)" |while read dirlist
do
- updatedirsymlinks $1 $dirlist
- updatedirdevices $1 $dirlist
-@@ -126,9 +127,9 @@
+- updatedirsymlinks $1 $dirlist
+- updatedirdevices $1 $dirlist
++ updatedirsymlinks $1 "$dirlist"
++ updatedirdevices $1 "$dirlist"
+ done
+ }
+
+@@ -126,15 +127,15 @@
#
# 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
-+ gfind "$dir" \( \( -type b -o -type c -o -type p \) -print \) -o -type d ! -name "`basename $dir`" -prune | while read file
++ gfind "$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)"`
-+ 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'
+- [ -b $file ] && echo -n ' type=b'
+- [ -c $file ] && echo -n ' type=c'
+- [ -p $file ] && echo ' type=p'
+- if [ -b $file -o -c $file ]
++ 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'
++ if [ -b "$file" -o -c "$file" ]
+ then
+- ls -l $file |
++ ls -l "$file" |
+ sed -e 's/^[-lcpbrdwxXstugoTS]* *[0-9] [^ ]* *[^ ]* *\([0-9]*\), *\([0-9]*\) .*/ major=\1 minor=\2/'
+ fi
+ # In this case file is the full path.
+@@ -145,7 +146,7 @@
+ #
+ # Obtain the currently defined devices
+ #
+- $SVN propget $DEV_PROP $dir >$TMPFILE1
++ $SVN propget $DEV_PROP "$dir" >$TMPFILE1
+
+ #
+ # If the two list are the same then there is nothing to do.
+@@ -161,7 +162,7 @@
+ if [ "$CHECKIN" = "true" ]
+ then
+ # Add the current devices to the property
+- $SVN propset $DEV_PROP $dir -F $TMPFILE
++ $SVN propset $DEV_PROP "$dir" -F $TMPFILE
+ else
+ # Delete all the unwanted devices ie not in TMPFILE1
+ cat $TMPFILE |while read line
+@@ -169,8 +170,8 @@
+ file=`expr "$line" : "file='\(.*\)' mode"`
+ if ! grep -q "file='$file'" $TMPFILE1
+ then
+- rm $file
+- deleteignorefile $file
++ rm "$file"
++ deleteignorefile "$file"
+ fi
+ done
+ fi
+@@ -178,7 +179,7 @@
+ # There are no devices in this directory
+ if [ "$CHECKIN" = "true" ]
+ then
+- $SVN propdel $DEV_PROP $dir
++ $SVN propdel $DEV_PROP "$dir"
+ fi
+ fi
+
@@ -194,10 +195,10 @@
grep -q "$info" $TMPFILE && continue # This line still matches
file=`expr "$info" : "file='\(.*\)' "`
@@ -53,51 +115,101 @@
type=`expr "$info" : ".* type=\(.\)"`
major=`expr "$info" : ".* major=\([0-9]*\)"`
minor=`expr "$info" : ".* minor=\([0-9]*\)"`
-@@ -207,7 +208,8 @@
+@@ -205,10 +206,11 @@
+ # This file is either missing or wrong
+ # Delete the old and create it anew.
#
- rm -f $dir/$file
- mknod --mode=$mode $dir/$file $type $major $minor
+- rm -f $dir/$file
+- mknod --mode=$mode $dir/$file $type $major $minor
- chown $user:$group $dir/$file
+- addignorefile $dir/$file
++ 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
++ chown $uid:$gid "$dir/$file"
++ addignorefile "$dir/$file"
done
fi
+ }
@@ -228,7 +230,7 @@
#
# 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 |
-+ gfind "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename $dir`" -prune |
++ gfind "$dir" \( -type l -printf "file='%f' dest='%l'\n" \) -o -type d ! -name "`basename \"$dir\"`" -prune |
sort >$TMPFILE
#
-@@ -294,7 +296,7 @@
+@@ -243,7 +245,7 @@
+ #
+ # Obtain the currently defined symlinks
+ #
+- $SVN propget $SYM_PROP $dir >$TMPFILE1
++ $SVN propget $SYM_PROP "$dir" >$TMPFILE1
+
+ #
+ # If the two list are the same then there is nothing to do.
+@@ -259,7 +261,7 @@
+ if [ "$CHECKIN" = "true" ]
+ then
+ # Add the current symlinks to the property
+- $SVN propset $SYM_PROP $dir -F $TMPFILE
++ $SVN propset $SYM_PROP "$dir" -F $TMPFILE
+ else
+ # Delete all the unwanted symlinks
+ cat $TMPFILE |while read line
+@@ -268,8 +270,8 @@
+ efile="`echo $file |sed -e 's!\([\[\(\$]\)!\\\\\1!g'`"
+ if ! grep -q "file='$efile'" $TMPFILE1
+ then
+- rm $dir/$file
+- deleteignorefile $dir/$file
++ rm "$dir/$file"
++ deleteignorefile "$dir/$file"
+ fi
+ done
+ fi
+@@ -277,7 +279,7 @@
+ # There are no symlinks in this directory
+ if [ "$CHECKIN" = "true" ]
+ then
+- $SVN propdel $SYM_PROP $dir
++ $SVN propdel $SYM_PROP "$dir"
+ fi
+ fi
+
+@@ -294,10 +296,10 @@
if [ -L $dir/$file ]
then
- [ "`find $dir/$file -printf '%l'`" = "$dest" ] && continue
-+ [ "`gfind $dir/$file -printf '%l'`" = "$dest" ] && continue
++ [ "`gfind \"$dir/$file\" -printf '%l'`" = "$dest" ] && continue
fi
- rm -f $dir/$file
- ln -s $dest $dir/$file
+- rm -f $dir/$file
+- ln -s $dest $dir/$file
++ rm -f "$dir/$file"
++ ln -s $dest "$dir/$file"
+ done
+ fi
+ }
@@ -313,37 +315,39 @@
# 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
-+ eval "gfind $PCWD $SKIPSVN -o \( \( -type d ! -name .svn \) -o -type f \) $PRINTDETAILS" | while read info
++ 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.*\)"`
-+ #echo DEBUG: device vale $device
++# echo DEBUG: device vale $device
if [ "$PCWD" = "$device" ]
then
dir="."
file=""
else
- dir="`basedirname $PCWD $device`"
+- dir="`basedirname $PCWD $device`"
- file="`basename $device`"
++ dir="`basedirname \"$PCWD\" $device`"
+ file=`basename "$device"`
fi
# see if the properties have changed.
@@ -144,3 +256,12 @@
fi
recorddirinfo
recordpermissions
+@@ -382,7 +387,7 @@
+
+ [ "$ACTION" = "pre" ] && pre_checkin $@
+
+-$SVN $@
++$SVN "$@"
+
+ [ $? = 0 -a "$ACTION" = "post" ] && post_checkout $@
+