Hi Merrill,

The module format that you are specifying is invalid.  There may be
another issue involved which I will explain below.  A module in cvs does
not contain a path component, the path component is specified in the
cvsroot:
        :pserver:[EMAIL PROTECTED]:/cvsroot/nant
                                                           -------------
        
|
                                                                path
component

If you have created a module in your cvs repository called: QAFramework
(i.e. a CVSROOT folder in the repository location on your server at the
same level as QAFramework indicates that this is a module) you would
just specify the path in the cvsroot and then the module component in
the module attribute:
        :pserver:[EMAIL PROTECTED]:/hdt/Source co QAFramework

Sooooo, to get this working: If you have a module called QAFramework
then modify your ${cvsroot} to have the correct path component (i.e. the
path to the folder on your server repository).  Next if you do have a
module called QAFramework then remove the path component from the module
attribute below.  If the QAFramework is not a separate root then you
will have to checkout the entire module (hdt?) but you can still just
update the Soure/QAFramework directory by specifying this in the
destination directory.  
        
        Examples:
                1) There is a module named QAFramework:
                        <cvs-checkout
cvsroot="${cvsroot-minus-path}:/hdt/Source/QAFramework"
password="${cvspswd}"
                                          module="QAFramework" 
        
destination="${QAFramework.src}" />
 
                        <cvs-update
cvsroot="${cvsroot-minus-path}:/hdt/Source/QAFramework"
password="${cvspswd}"
                                        module="QAFramework" 
                                        destination="${QAFramework.src}"
/>

                2) No module named QAFramework
                        <cvs-checkout cvsroot="${cvsroot}"
password="${cvspswd}"
                                          module="hdt" 
        
destination="${QAFramework.src}" />
 
                        <cvs-update cvsroot="${cvsroot}"
password="${cvspswd}"
                                        module="hdt" 
        
destination="${QAFramework.src}/hdt/Source/QAFramework" />

Please let me know if the example above makes sense, or if it needs
clarification.

I will also create an issue to produce an error if the module component
is not in a valid format (i.e. does not contain path separators, etc.).



Cheers,


Clayton

> -----Original Message-----
> From: Merrill Cornish [mailto:[EMAIL PROTECTED] 
> Sent: April 27, 2004 2:38 PM
> To: [EMAIL PROTECTED]
> Subject: [Nant-users] <cvs-update> after <cvs-checkout> fails
> 
> 
> I'm running NAnt 0.84.
> 
> If I do a CVS checkout with a <cvs-checkout> target, it 
> works.  The only unusual thing about my check out request is 
> that I've requesting a sub-project of the CVS repository 
> rather than the entire repository project.
> 
> If I follow the above with a second run of NAnt doing 
> <cvs-update> (which should find nothing to do), it fails with 
> the following: ===================================
> BUILD FAILED
> 
> INTERNAL ERROR
> 
> System.IO.FileNotFoundException: 
> path=[C:\DOCUME~1\mcornish\LOCALS~1\Temp\QAFrameworkSrc\hdt/So
> urce/QAFramework\hdt]fileType=[Repository]File
> not found.  
>    at 
> ICSharpCode.SharpCvsLib.FileSystem.Manager.FetchSingle(String 
> path, FileType
> fileType)
>    at 
> ICSharpCode.SharpCvsLib.FileSystem.Manager.FetchFilesToUpdateR
> ecursive(ArrayList
> folders, String directory)
>    at 
> ICSharpCode.SharpCvsLib.FileSystem.Manager.FetchFilesToUpdateR
> ecursive(ArrayList
> folders, String directory)
>    at 
> ICSharpCode.SharpCvsLib.FileSystem.Manager.FetchFilesToUpdate(
> String directory)
>    at 
> NAnt.SourceControl.Tasks.UpdateTask.PopulateFolders(WorkingDir
> ectory workingDirectory)
>    at NAnt.SourceControl.Tasks.UpdateTask.CreateCommand()
>    at NAnt.SourceControl.Tasks.AbstractCvsTask.ExecuteTask()
>    at NAnt.Core.Task.Execute()
>    at NAnt.Core.Target.Execute()
>    at NAnt.Core.Project.Execute(String targetName, Boolean 
> forceDependencies)
>    at NAnt.Core.Project.Execute()
>    at NAnt.Core.Project.Run()
> 
> Please send bug report to [EMAIL PROTECTED]
> ===================================
> 
> The <cvs-checkout> task is as follows:
> 
>    <cvs-checkout cvsroot="${cvsroot}" password="${cvspswd}"
>       module="hdt/Source/QAFramework" 
> destination="${QAFramework.src}" />
> 
> The <cvs-update> task is as follows:
> 
>    <cvs-update cvsroot="${cvsroot}" password="${cvspswd}"
>       module="hdt/Source/QAFramework" 
> destination="${QAFramework.src}" />
> 
> As you can see, only the task name is different.  If the 
> module attribute had been "hdt", the entire repository would 
> have been checked out.
> 
> The <cvs-checkout> task results in a directory structure in 
> the destination directory that looks like this:
> 
>    hdt/
>       Source/
>          QAFramework/
>             CVS/
>             ...all of the checked out CVS files and directories
> 
> which is what I would expect.  However, the hdt/ and Source/ 
> directories are empty and do not even contain a CVS directory 
> (which to my uneducated eyes, sort of sounds like what the 
> "Repository not found" error message is complaining about).
> 
> The intent is that if the NAnt script has been called with my 
> -D:rebuild=true command line option,  <cvs-checkout> is 
> called.  If called with -D:rebuild=false, the previous CVS 
> checkout is used, if it exists.  If it does not exist, a new 
> checkout is done.
> 
> Any suggestions?
> 
> Merrill
> 
> 
> -------------------------------------------------------
> This SF.Net email is sponsored by: Oracle 10g
> Get certified on the hottest thing ever to hit the market... 
> Oracle 10g. 
> Take an Oracle 10g class now, and we'll give you the exam 
> FREE. http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
> _______________________________________________
> Nant-users mailing list
> [EMAIL PROTECTED] 
> https://lists.sourceforge.net/lists/listinfo/n> ant-users
> 


-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g.
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id149&alloc_id66&op=click
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to