summaryrefslogtreecommitdiff
path: root/devel/subversion16/files/patch-contrib--client-side--asvn
diff options
context:
space:
mode:
authorLev A. Serebryakov <lev@FreeBSD.org>2006-09-12 12:46:30 +0000
committerLev A. Serebryakov <lev@FreeBSD.org>2006-09-12 12:46:30 +0000
commit0c0e8fd828132ba74baef61a04291cdc1a97f370 (patch)
tree46ce8239bae7e9573439bff5ae32fa8cc905f698 /devel/subversion16/files/patch-contrib--client-side--asvn
parent- Update mastersite. (diff)
(1) Update to 1.4.0 release
(2) Migrate book to stable version 1.2 (3) Add images to HTML book (4) Add dependency to gfind (findutils) for asvn (5) Improve asvn script PR: ports/99177 [4],[5] Submitted by: David Robillard <david.robillard@gmail.com> [3]
Diffstat (limited to 'devel/subversion16/files/patch-contrib--client-side--asvn')
-rw-r--r--devel/subversion16/files/patch-contrib--client-side--asvn185
1 files changed, 153 insertions, 32 deletions
diff --git a/devel/subversion16/files/patch-contrib--client-side--asvn b/devel/subversion16/files/patch-contrib--client-side--asvn
index 07f339d29ed5..c8be147d7d77 100644
--- a/devel/subversion16/files/patch-contrib--client-side--asvn
+++ b/devel/subversion16/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 $@
+