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