Re: Re: Mystery for a cvsgui expert

Oliver Giesen <[email protected]> Sun, 13 Sep 2009 11:55:20 +0200
Newsgroups gmane.comp.version-control.cvs.gui.user
Message-ID <[email protected]>
Sorry for the late reply. Been a busy week. Replies inline.
If you're in a hurry just skip to the last answer. The rest is basically 
just nitpicking.

>  [Paul] - I see your point, but bear in mind that the path without
>  the drive letter had been working for several other recursive add
>  attempts including the many files that were successfully added in
>  the same attempt where several were not. After adding the drive
>  letter, the result was still the same for the individual file because
>  of course the strange path it gives is still wrong.

My main point was that for "add" the CVSROOT string does not really 
matter as it does not get used. Both the "Add" toolbar buttons and the 
"Recursive Add" macro will not pass it to CVS at all which means that 
CVS will use the CVSROOT from the sandbox meta data of the current 
folder which is also the only thing that makes sense for that command 
because Add is always relative to an already checked-in folder.


>  [Paul] - WinCVS must add this because the Admin > Command Line
>  utility runs in a context outside (or at least independent of) the
>  known sandbox. I did not enter that argument in the Command Line
>  utility. I selected the "Execute for directory" option, entering the
>  correct directory path, and WinCVS adds that to the given command.

I just tried this a couple of times and it seems it will only pass the 
-d option when you check the corresponding checkbox on the Admin|Command 
Line dialog. I don't think I ever used that dialog. It's usually much 
easier to simply enter your commands directly into the console pane 
instead if you really have to (you'd have to have Python and/or TCL 
installed to do so).


>  [Paul] - From what I read, CVS does not support a global CVSROOT any
>  more, so the toolbar buttons have no way of knowing which cvs root
>  to use.

They will simply use the CVSROOT from the sandbox meta data of the 
current folder which is the only thing that makes sense for "cvs add". 
See above (and below).


> > Before you run the Recursive Add macro, what CVSROOT and
> > repository path are displayed in the status bar?
> >
>  [Paul] - Something very strange indeed, although not unfamiliar. It
>  shows: ":ext:[email protected]:/cvsroot"
>  "pw/frame/base/actions"
>
>  That ext and CVS server information belongs to a project that I was
>  once a part of a long time ago, using a completely different
>  computer. Now, I know that there are things that I have copied from
>  other computers I've had onto this one, but if you could tell me
>  where it might be getting that from, it may help me pinpoint how and
>  where I got WinCVS mixed up.

Yep, that'd be the problem. When you check out a directory from CVS or 
when you initially add one to it, CVS will create hidden sub-folders 
named "CVS" which contain all the meta data needed to correlate the 
working copy with its associated repository. If you copied folders from 
a different developement environment without purging the .\CVS 
directories then those folders will effectively still be linked to the 
repository they were originally checked out from. To break that link you 
will have to delete all of the hidden CVS-directories (there's one 
inside each and every folder of your sandbox) before you add/import them 
again to the new repository.

I don't know how many of these copied-in files and directories you have 
but I would seriously consider starting from scratch as there are simply 
too many things that could already have gotten messed up and trying to 
resolve those issues individually (e.g. by hand-editing the meta data) 
just might not be worth the effort.

Looking at the CVSROOT and module information in the WinCvs statusbar 
while browsing through your working copy should give you a good idea of 
how many folders are affected.
FWIW, here's where that information comes from:

* The CVSROOT string comes from the .\CVS\Root file.
* The module path comes from the .\CVS\Repository file.
* The revision, tag and status info that WinCvs displays in the file 
view columns comes from the various .\CVS\Entries.* files.

There are a few other files that could potentially exist in the .\CVS 
folders but the three listed above are the most important ones to know 
about.

Hope this helps.

Cheers,

Oliver


[Non-text portions of this message have been removed]



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/cvsgui/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/cvsgui/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[email protected] 
    mailto:[email protected]

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/