comparing svn and cvs somewhat
Ben Kelly
ben at wanderview.com
Sun Apr 12 18:34:38 PDT 2009
On Apr 5, 2009, at 1:36 PM, Chuck Robey wrote:
> I have gotten a local copy of the svn repo going on my home here, by
> using
> svnsync, which seems (by what I've read and been told) to be the
> right method.
> I'm wondering about a feature that is there for cvs, in cvsup, but
> which seems
> to be missing in svnsync for svn.
>
> What I'm after is a much better way to maintain a local repo than
> what I'm
> seeing now in maintaining my svn repo, with svnsync. The main
> feature that I
> think I'm missing is the ability to be able to compare files on a
> central server
> (something serving all FreeBSDers) to files on everybody's personal
> repo, and
> to automatically update them if there isn't a perfect comparison.
> I'm not
> talking about the varying ways that your repo might get damaged, but
> I think
> that svnsync only knows that you have a particular revision number,
> not that the
> file is correct. If your repo gets damage, I think that nothing
> exists to
> automatically fix it.
>
> So, if this feature IS something that's already available in svn,
> I'd like to
> here a summary of what tool to use the how to do it, so I can verify
> myself that
> what I'm thinking about already exists. That'd free me to begin
> writing
> software, to see if I could implement such a feature. I'm not truly
> certain of
> this, but it seems to me that implementing such a feature, using
> something like
> Python, would be very easy to do. Could end up with a svn version
> of cvs's
> cvsup. Maybe, call it svnup? I'm terrible at names, if you think
> that name
> makes no sense, please, tell me so.
I looked into this a bit previously. I wanted something similar to
cvsup to help me track remote repositories as vendor branches in my
local repository. My initial research showed some feature requests
for "svn export -r REV" which would have done most of this for me.
Unfortunately the last time I looked it hadn't been implemented.
So based on that I wrote a very-alpha proof of concept script you can
find here:
http://www.wanderview.com/svn/public/svnsnap/0.1/
Please use at your own risk because its only been tested very
lightly. I've pretty much abandoned this script because I don't think
a shell script wrapper can handle all the corner cases with the
current support in the svn tools. In particular I know this script
does not handle updates to file and directory permissions.
I started working on a C utility that interfaced directly with the svn
API's, but I got distracted by real life before getting it in working
order.
Anyway, I'm interested in a tool like this, but I doubt I will have a
lot of time in the short term to work on it.
Hope that helps.
- Ben
More information about the freebsd-current
mailing list