SSVN stands for
Super SVN
just joking ;-)
./ssvn.pl
ssvn.pl - v.0.1 - Subversion wrapper to manage file permissions
(c) 2006 Witold Rugowski http://nhw.pl/
ssvn.pl OPTIONS <file names>
Options:
-h : this help,
-s : store file permissions into subversion repository (default action)
-r : retrive file permissions from subversion repository
What is this?
I wanted to use SVN to manage /etc directory in my new FreeBSD box. But
unfortunatley I can not
"force" SVN to store permissions
into repository. Quick serach through
http://subversion.tigris.org/servlets/SummarizeList?listName=users
did not found solution. So... I wrote my own. This perl script runs svn to
store file permissions, owner and group using svn properties (this one is
named perm). After
svn update or
svn co You may run this
script again, and using data stored in properites original mode, owner and
group.
WARNING:
This is not portable solution, since it is based on
UNIX-like file access control. More - UID and GID are stored as numbers, so
it can be impossible to restore owner and group info on other box.
Word of explanation about this project
It look like the whole project is not needed ;-)). I was shown (
http://nhw.pl/blg/cmt.php?article=/2006/04/04/T23_18_14/index.html)
that ssvn has subset of asvn functionality. Asvn is similar script written
in bash. I did not test it, only read its source. Should be even better than
ssvn. Asvn is put into
contrib/client-side directory in subversion distribution.
So what for I wrote ssvn? Because I did not know about asvn until someone
left this comment... I could add that this script is not put into FreeBSD
port, so I can not found it ;-)) Asvn can be found here :
http://svn.collab.net/repos/svn/tags/1.3.1/contrib/client-side/asvn
Version history:
Alternate solution:
You may want to try out this patch
http://svn.collab.net/viewvc/svn/branches/meta-data-versioning/
but it is beta (according its README) and I did not tested it, but it can
provide You similar (or better) functionality.
I plan to write HOWTO use this wrapper to manage directory like /etc.