info-cvs
[Top][All Lists]
Advanced

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

Re: Checking out without lock


From: Mark D. Baushke
Subject: Re: Checking out without lock
Date: Mon, 08 Sep 2003 10:19:53 -0700

Ed Avis <address@hidden> writes:

> address@hidden (Larry Jones) writes:
> 
> >If the entire repository is really read-only and there's nothing you
> >can do about it, the current development version of CVS has a -R
> >global option to deal with it.
> 
> Alas,
> 
> cvs [checkout aborted]: Read-only repository feature unavailable with
> remote roots
> 
> Is this simply an unimplemented feature, or is there a reason why -R
> could not ever work with CVS-over-ssh?

The -R feature is intended to work with CD-Rom copies of your repository
or NFS filesystems that are mounted read-only. Both are considered
'local' to the cvs that is running. Nothing was added to the
client/server protocol to support read-only repositories.

The thread where the cripple code was installed may be found here:

    http://mail.gnu.org/archive/html/bug-cvs/2003-03/msg00022.html

The FreeBSD feature would silently ignore the -R switch over the net (as
it also does not provide a client/server read-only feature), I felt that
was a bad idea for the cvshome.org version of cvs, so the problem is
instead reported with an error instead of silently ignoring the flag.

Given that my only need for the feature was to read CD-R copies of
a cvs repository, the patch for 1.12.1 was sufficient to my needs and
it brought into the fold a feature that the FreeBSD community wanted.

I have no fundamental objections to someone adding client/server
protocol code to deal with passing the -R switch to the remote server
and doing the right thing. Please consider submitting patches for review
if you want to do this... I do suspect that it will end up being a
non-trivial patch and you need to ask yourself if that is the best
way to solve your problem.

Another mechanism that may be useful (the one I needed to use when I had
a CD-R with a repository and no version of cvs with the -R switch), is
to create a directory on the remote server that has symlinks to the data
of the remote repository, but has a read-write CVSROOT. In the CVSROOT,
you put a config file that specified a LockDir hierarchy to let files
get checked out from your shadow repository without running into the
read-only media problem.

        Good luck,
        -- Mark




reply via email to

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