Riley Williams wrote: > Hi Derek. [...] > > > > Brian Behlendorf tells me that Collab Net will be supporting the > > bandwidth and hardware for cvshome.org for an indefinite period. > > Are you sure of this? As of yesterday morning, I've been unable to get > to cvshome.org either by web or cvs pserver, so as far as I can tell, > it's already dead...
Same here... I can't get pserver to work either, "Connection refused" Whether it's "already dead", or if this is just a temporary glitch, these interesting times we live in bring to mind an idea I had awhile back, and which I'll mention now in case somebody wants to take the ball and run with it. (or maybe somebody already did?) It occurred to me that lots of GPL-ish licensed software is hosted in CVS servers run by companies which might someday cease to be. For example, what would happen if VA Linux (or whatever it's called now), and thus Sourceforge, suddenly disappeared? For any project of interest, somebody would probably have done a recent checkout, so what's really at risk is not so much the current state of the source code as the history, the tags, the branches, and all the CVS-ish information that is not included in a source tarball. It would be nice if there ware a simple way to replicate a repository. It occurs to me that it is almost possible to write a program to do this requiring no special setup on the server side. The only piece missing (I think) is a way to find all the files which are, or ever were, present in the repository. Assuming you had such a list of files, you could replicate a remote CVS repository in the following way: For every file on the list, do a "cvs log" This would give you a list of revisions, and all the tags. Then you could, one by one, check out (or diff) each rev of each file from the remote repository, and check it into a local repository. First do the trunk then create branch tags off the trunk, then do each branch, then create any branch tags off those branches, etc. Finally apply all the static tags. You'd have to worry about sticky options, and log messages too, of course, but, it is possible to write a script to do all this. The piece that's missing is the list of all files in the repository. "cvs rdiff -s -r 0" almost gets it, but not quite. I guess you could do something vaguely like for tag = every tag found by cvs log do "cvs rdiff -s -r 0 -r tag" >> filelist done little_awk_script < filelist | sort | uniq > newfilelist And get pretty close, reasoning that every file of importance would have been tagged with a static tag at one time or another, But that's pretty brute-forceful. Just an idea for anybody that's paranoid about their voodoo-economcially funded remote CVS repository suddenly disappearing. -- steve _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs