[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CVSROOT not used
From: |
Mark D. Baushke |
Subject: |
Re: CVSROOT not used |
Date: |
Tue, 16 May 2006 23:35:59 -0700 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Steve Sapovits <address@hidden> writes:
> Mark D. Baushke wrote:
>
> > What does this command tell you?
> > cat CVS/Root
> > It should be a copy of your $CVSROOT as specified when you checked
> > out the original tree.
>
> This is it. I had started down that path after my last
> post but you gave me better direction. The issue is that
> I checked out as another user.
It is generally considered prudent to have individual trees for
modification and only use something like another user's tree as
a reference.
If you are able to use the same userid on both the client and server
machines for all of your users, then even the reference tree could be
checked out as
:ext:host.name/repos/pathname
and let the username on the client be used on the server. Then anyone
who wanted to do a 'diff' would use their own userid on the server to
do the work.
> cvs diff seems to try running using $CVSROOT but against the CVS/Root
> user on the remote server. My rsh permissions were not set right for
> that one.
This is not how it works. 'cvs diff' uses
If CVSROOT is :ext:host.name/repos/pathname
$CVS_RSH host.name $CVS_SERVER server
or, if CVSROOT is :ext:address@hidden/repos/pathname
$CVS_RSH host.name -l user $CVS_SERVER server
to make the remote connection. The $CVS_RSH program (be it rsh or ssh)
is used to login to host.name as either $USER or the '-l user' specifies
the alternative user to be used.
$CVS_SERVER defaults to 'cvs' and will be found in the $PATH of the
'user' on the remote system.
>
> To clarify, there are 3 users here:
>
> (1) A shared user the code was checked out as;
> (2) My user on one system;
> (3) My (different) user on another system.
>
> I was set up permission-wise to go between my two users but
> not between one of my users and the shared user the code was
> checked out as. cvs diff appears to run as the CVS/Root user
> at some level.
>
> What first clued me in here was trying a checkout somewhere
> else. That worked -- it was only commands like cvs diff that
> run against the checked out code that weren't working.
>
> My follow-up question here is: If I 'cvs commit' from that
> same checked out code path, as me and not as the user who
> checked it out, will the check-in be tagged with my user ID?
Yes.
> Also: All the users in this scenario are in the same UNIX group.
That would only be relevant to directory permissions on the server.
Good luck,
-- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFEasRPCg7APGsDnFERApXXAKCA9CKuJn05LLVeN+W/CS8cwi/qXwCcCYa3
Ej/IRGU+qUMl+3T32nnaauQ=
=S7UH
-----END PGP SIGNATURE-----