Date: Sun, 12 Apr 2009 21:34:35 -0400 From: Ben Kelly <ben@wanderview.com> To: Chuck Robey <chuckr@telenix.org> Cc: freebsd-current@freebsd.org Subject: Re: comparing svn and cvs somewhat Message-ID: <DDC45BEE-88CD-4DEE-B671-56F37B5B890C@wanderview.com> In-Reply-To: <49D8EC20.70700@telenix.org> References: <49D8EC20.70700@telenix.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DDC45BEE-88CD-4DEE-B671-56F37B5B890C>