[cvsnt] Problem branching, then error on commit in CVSNT

Bo Berglund bo.berglund at telia.com
Mon May 5 18:30:59 BST 2008


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


On Sun, 4 May 2008 19:50:16 -0400, "Andrew Cushen" <andrew at cushen.com>
wrote:

>@Bo: 
>
>> Very strange connection string, indeed.
>> Why do you have the c:/CVSROOT part there????
>
>The actual physical layout of the directory structure is C:\CVSROOT\[all my
>working directories]. That is, there is a directory I created named CVSROOT
>which is directly under the root of the c:\ drive, and all my source code is
>in subdirectories under that, where each folder contains the source for one
>project. 
>So, for instance:
>
>c:\CVSROOT\Project1\project   with all Project1's source in the "project"
>subdirectory, and
>c:\CVSROOT\Project1\CVSROOT   which is presumably the CVSNT-created folder 
>
>then Project 2 would have
>c:\CVSROOT\Project2\project   with all Project2's source in the project
>subdirectory, and
>c:\CVSROOT\Project2\CVSROOT   which is presumably the CVSNT-created folder 
>

A "normal" structure would be like this:

D:\CVSREPO     The top of the repository. Drive could be anywhere
D:\CVSREPO\CVSROOT   The automatically created CVS admin module
D:\CVSREPO\MyProject  Folder for MyProject, contains files and folders
D:\CVSREPO\MyProj2  Folder for MyProj2, contains files and folders
D:\CVSREPO\MyProj3  Folder for MyProj3, contains files and folders
D:\CVSREPO\MyProj4  Folder for MyProj4, contains files and folders
etc...

The important thing here is that *NOTHING* is stored below the CVSROOT
folder that is not an administrative file for use by the CVS server
only! I have seen horrors like this:
D:\CVSREPO
D:\CVSREPO\CVSROOT\MyProject
D:\CVSREPO\CVSROOT\MyProj2
D:\CVSREPO\CVSROOT\MyProj3
D:\CVSREPO\CVSROOT\MyProj4
etc...
where the CVSROOT directory was properly populated by CVS with the
admin files but then it was misused as the parent for the project
files!!!

>So you're saying this is not a good way to go. I wanted to have all my
>repositories under one directory.
If you have more tghan one *repository* (not to be confused with
"modules"!) then I suggest you use the following structure:

D:\CVSREPOS\REPO1
D:\CVSREPOS\REPO1\CVSROOT
D:\CVSREPOS\REPO1\Module1
D:\CVSREPOS\REPO1\Module2

D:\CVSREPOS\REPO2
D:\CVSREPOS\REPO2\CVSROOT
D:\CVSREPOS\REPO2\MyProj
D:\CVSREPOS\REPO2\MyProj2

D:\CVSREPOS\REPO3
D:\CVSREPOS\REPO3\CVSROOT
D:\CVSREPOS\REPO3\SomeOtherModule
etc

>I guess I shouldn't have named my "master"
>directory "CVSROOT", then? Apart from that, is my structure OK, assuming I
>re-name *my* CVSROOT folder to something else? 
>
>Will it break anything if I simply re-name the folder from Windows Explorer?

You *can* rename and move folders around using Windows Explorer if you
first stop the CVSNT service. THen when you are done you have to
register the new location(s) of the repositoty(ies) in the CVSNT
control panel, where you also should give these sane names like for
the example above:
/REOP1
/REPO2
/REPO3
Notice that you should completely remove the physical path from the
published name, this makes it possible for you to move the repository
around for administrative purposes without breaking anything on the
client PC:s. Their checked out sandbox has no knowledge of from whwre
it came on the server disk.


HTH

/Bo
(Bo Berglund, developer in Sweden)


More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook