[Top][All Lists]

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

Re: Checking out from multiple repositories [CORRECTION]

From: Larry Jones
Subject: Re: Checking out from multiple repositories [CORRECTION]
Date: Wed, 23 May 2001 14:32:22 -0400 (EDT)

address@hidden writes:
> Here is a test case I wrote to recreate the problem:
> # Now for the real test
> rm -rf multmod
> cvs -d $Server1 co multmod
> cvs -d $Server2 co multmod

You shouldn't checkout the same directory from multiple servers.  CVS
insists that a working directory map to a single repository directory;
it's OK to violate that as far as contained subdirectories, but not
files.  When you checkout from Server2, you get files in the multmod
directory that map to a directory on Server2, but the CVS/Root file is
still pointing to Server1 and CVS gets very confused.  (CVS only allows
this because it presumes you know what you're doing and are just using a
different name or access method for the same repository rather than
specifying a completely different repository.)

Given the directory structure you set up, one way to get a correct
working directory tree would be:

        cvs -d $Server2 co multmod
        cvs -d $Server1 co multmod/dir1

That way you don't try to checkout multmod itself from both servers.

However, that still doesn't create the recursion problem you initially

        bash-2.02$ echo hi >>dir1/file11
        bash-2.02$ echo hi >>dir2/file21
        bash-2.02$ cvs -nq up
        cvs server: file1 is no longer in the repository
        cvs server: file2 is no longer in the repository
        M dir1/file11
        M dir2/file21

Note that CVS correctly finds that files in both subdirectories (one
from Server1 and one from Server2) have been modified.  (The "no longer
in the repository" messages are because of the repository confusion I
noted above.)

-Larry Jones

He doesn't complain, but his self-righteousness sure gets on my nerves.
-- Calvin

reply via email to

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