i've long been looking at a way to version files in place in lieu of not doing it manually with RCS like I do (I've come up with something better in the mean time - I have NOT posted it yet) here are some basic instructions on how to do that with Subversion RESETTING EVERYTHING TO SCRATCH (only need to do this to start again) # on the repository server z-webdav:/ # \rm -rf /web/webdav/svn/unixsvn/hosts/z-webdav/ z-webdav:/ # svnadmin create /web/webdav/svn/unixsvn/hosts/z-webdav z-webdav:/ # chown -R svn:svn /web/webdav/svn/unixsvn/hosts/ # on the client system clientserver:/ # \rm -rf /.svn and then run this script I wrote clientserver:/ # ./SVNME.sh you'll probably need to update the username and password to your own details - actually it would be better to have a specific SVN user added to AD for doing this and note that this was done on a solaris 10 box so it might not be quite the same on other boxes and you might need to use full path names to find the various utils you need ... eg. gfind z-webdav:/ # cat SVNME.sh #!/bin/sh USER=username PASS=password AUTH="--username $USER --password $PASS" TARGETHOST=`hostname | sed 's/\..*$//g'` SVNHOST=unixsvn MINSIZE=+64c MINUTES="-mmin +60 -and -mmin -1840" MYEXIT=0 # test to see if we have a hostname repository svn list http://$SVNHOST/hosts/$TARGETHOST || MYEXIT=23 cd / INCLUDE_LIST="etc web/server*/etc web/server*/httpd-*.*.*/conf usr/local/etc" ENDOFLINE="(-edit|\-|\.|,v|\.(bak|db|disabled|example|sample|old|OUT|[0-9]+))$" PATHPREFIX="/(\.[a-z]|_|\.?(JUNK|OLD|OUT)|CVS|FFF|RCS|RUN|core|svc/repository-boot)" PATHSUFFIX="-old/|etc/mnttab" EXCLUDE_LIST="$ENDOFLINE|$PATHPREFIX|$PATHSUFFIX" EXPANDED_INCLUDE_LIST=`/bin/ls -d $INCLUDE_LIST` case $MYEXIT in 0) echo TARGET REPOSITORY SEEMS TO EXIST - BEGIN PROCESSING ;; 23) echo TARGET RESPOSITORY DOES NOT SEEM TO EXIST exit $MYEXIT ;; esac set -x [ -d /.svn ] || svn co http://$SVNHOST/hosts/$TARGETHOST . for i in $EXPANDED_INCLUDE_LIST do echo ============= $i ================ for j in `[ -d "$i" ] && gfind $i -type f $MINUTES -size $MINSIZE | egrep -v -e "$EXCLUDE_LIST"` do svn ls http://$SVNHOST/hosts/$TARGETHOST/$j || svn add --parents $j done done svn commit -m "auto commit" exit $MYEXIT
Various snippets of UNIX code that might just be a waste if I keep them to myself. This blog is very much a work in progress and is mainly for myself. Yes, I should probably host code on one of those fancy code hosting web sites and I probably will eventually.
Tuesday, April 15, 2014
SVN: sort of
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment