[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can cvs support distributed development usage.

From: Greg A. Woods
Subject: Re: Can cvs support distributed development usage.
Date: Sat, 15 Sep 2001 02:53:26 -0400 (EDT)

[ On Saturday, September 15, 2001 at 13:38:01 (+0800), Yi Zhou (RD-CN) wrote: ]
> Subject: Can cvs support distributed development usage.
> Can cvs support distributed development usage? That is to say, if we
> have four CVS server, located in different place. But they are all
> used for just one project developing, each server stores different
> source code or binary data, if a developer want to check in/out the
> source code that does not exist on the local CVS server, local CVS
> server will provide a link pointing to the remote CVS server that
> stores what he want to check in/out.  For the developers, the whole
> four CVS servers are just like one, at least just have a logical
> view.

Well it doesn't work exactly that way, but from the developer's point of
view it is possible to have one (or many) workspace(s) that contains a
view of all code from all servers.  All a developer has to do is to
check out the appropriate modules from each server.  From there the CVS
client program uses information stored in the workspace to keeps track
of which files came from which server and any operations on those files
is handled appropriately by contacting their correct "home" server.

Provided that the code most likely to be worked on by any given
developer is stored in their local repository they'll get decent
performance from localised commit/update/etc operations.

If the developers never commit code to a remote server (i.e. only to the
one local to their site) then you can further optimise this setup by
mirroring the remote repositories to read-only locations on the local
server (thus providing the illusion of fast direct access).  The
mirroring can be done any way you wish, but rsync and CVSup come to mind
as the best alternatives (I locally mirror the NetBSD CVS repo with
rsync, and in the past I've mirrored the FreeBSD CVS repo with CVSup).

I don't know that I would set things up that way though if I were doing
it.  I'd probably want to have just one master server for commits....

BTW, I'd strongly recommend never putting any binary data in your CVS
repository either.....

> Or can CVS provide the mechanism synchronizing data on different
> CVS server automatily.

no, it cannot do that.....  CVSup can synchronise unique branches
between different servers, but I wouldn't recommend trying to do that --
it's far far far too error prone.

                                                        Greg A. Woods

+1 416 218-0098      VE3TCP      <address@hidden>     <address@hidden>
Planix, Inc. <address@hidden>;   Secrets of the Weird <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]