Harold
-------- Original Message -------- Subject: Re: Grabbing XFree86.org's xc/ tree using cvsup Date: Sun, 2 Nov 2003 16:46:34 -0500 (EST) From: Mike A. Harris <[EMAIL PROTECTED]> To: Harold L Hunt II <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED], [EMAIL PROTECTED] References: <[EMAIL PROTECTED]>
On Sat, 1 Nov 2003, Harold L Hunt II wrote:
I am looking into how to import the XFree86.org xc/ tree into freedesktop.org. It looks like cvsup is the way to go here, since it mirrors the actual repository instead of grabbing a snapshot of the repository.
This can be used to mirror the repository for read-only access to an alternative to the master, and works great. I use cvsup to mirror the repo locally also.
My question is: should I tell cvsup to drop the tree directly into /home/cvs, or should I pull the tree into my home directory, then copy it into /home/cvs?
I mirror it to /srv/cvs/cvsup myself, but have made thosed dirs group cvs, and have myself as a member of the group. Again this is locally on my workstation.
It sort of seems unwise to drop the tree directly into /home/cvs, especially since cvsup needs to keep some state files (which I would most likely put in /home/harold/xc/sup) that imply that only one person would be able to make changes to the cvsup mirror.
Another thing to keep in mind is how we want to do development. It has been suggested that we keep the HEAD branch in sync with XFree86.org and that we do our development on another branch. The question here is whether cvsup can preserve a local branch of the code and still be used to sync with XFree86.org. I doubt that this is the case, since cvsup is essentially mirroring the files, not branches/tags/etc. Does this mean that we must manually track XFree86.org and apply their patches after the initial import?
This is not possible. The cvsup mirrored repository is
read-write, however as soon as the next cvsup cronjob runs, it
syncronizes your cvsup repository with the master, which includes destroying all of your modifications.
I would appreciate any input on this. Let me be the first to admit that I am not a CVS administrator. I want to get this tree setup quickly so that Alexander Gottwald (ago), Kensuke Matsuzaki (zakki), and myself can quickly resume our development on Cygwin/X. Another goal is for the xc/ tree to be usable by others that wish to develop on an old-style xc/ tree outside of XFree86.org.
My recommendation is for freedesktop.org to set up a single cvsup mirrored XFree86 repository which is globally available to all projects hosted on fd.o. Anyone can set it up, and it should be ran by the system cron at least once a day IMHO, so not in a user account. That way it's ultrafast to generate diffs, rdiffs, do checkouts of XFree86 trees, and any other work with their repository, with no network latency on the local box. That's how I use it locally at home here and it is a godsend.
For importing the xc repository however, I recommend taking the CVSUP mirrored repository, and copying the entire subdirectory heirarchy of the repo to the real CVS repository location, then running a perl script to change all of the CVS roots throughout the tree if necessary. This repository should then not ever have cvsup executed on it again or all changes will be blown away. Developers working on this tree (or multiple trees started like this) are free to make branches, etc. In order to keep the tree in sync with XFree86 CVS, someone would need to either manually check in XFree86 changes, or set up automated checkins.. The problem with automated checkins however is that occasionally they _will_ fail. Network dropout, disk full, overlapping cvs commits that need manual handwork, and other scenarios.
It'll be very little work to copy the repo and start using it for development, but a lot of work to maintain the entire tree and keep it current with XFree86.org changes.
Hope this helps.
-- Mike A. Harris
_______________________________________________ Xserver mailing list [EMAIL PROTECTED] http://pdx.freedesktop.org/cgi-bin/mailman/listinfo/xserver
