This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Creating a tag
On Sat, Jun 22, 2002 at 06:41:45PM -0700, Jason Molenda wrote:
> > In the case of GCC, if CVS wasn't so stupid to lock files during a `diff'
> > or `update' operation you'd get a lot less of the "waiting for...". See
> > the FreeBSD src/contrib/cvs for the "readonly" patches.
>
> I looked at this patch a while back. cvs' file updates are atomic
> on a file level, but not at a directory level. So it's entirely
> possible for someone to make a change to foo.c and foo.h, and an
> anoncvs read-only user doing an update at the same time could get
> the new version of foo.c but the old version of foo.h.
>
> If that tradeoff is accepted, then yes, it'll work fine. cvs only
> locks directories at a time, so it's still possible for a checkin
> to foo/bar.c and baz/bam.h to be half-seen by another user.
>
> rsyncs of the repository ignore cvs locks altogether, so you've
> got the same consistency problems as the read-only-users-don't-lock
> setup.
For what it's worth, I think this tradeoff is entirely worth making.
> It's been a while since I looked, but I don't think the OpenBSD
> CDROM-repository patch (the FreeBSD readonly patches David refers
> to are originally from OpenBSD) are selectable on a per-repository
> basis; without modification I imagine this change would have to be
> made for all repositories hosted on the site.
Or some voodoo used to select a CVS binary per-repository; that should
be fairly straightforward.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer