Title: Message
I think that the problem with your script is localpath="C:\0_drisler_test". It should instead be localpath="C:\0_drisler_test\filename". Right now, VSS is trying to overwrite a folder with a file and hence you are getting an "Access Denied" error.
 
Just tried with the following and it worked fine:
 
        <vssget localpath="d:\scratch\assemblyinfo.cs" dbpath=\\vsspath\file.ini
            path="$/p1/p2/p3/AssemblyInfo.cs" recursive="false"
            removedeleted="false" replace="true" writable="true"
            user="userid" password="password" version="1"/>
 
However, if I set removedeleted="true", then I get a problem. I am attaching the results
 
targetname:
 
   [vssget] Getting '$/p1/p2/p3/AssemblyInfo.cs' to 'd:\scratch\assemblyinfo.cs'...
   [vssget] Removing deleted files from local image...
 
BUILD FAILED
 
INTERNAL ERROR
 
System.Runtime.InteropServices.COMException (0x80042979): This command only works on projects.
   at SourceSafeTypeLib.VSSItemClass.get_Items(Boolean IncludeDeleted)
   at NAnt.Contrib.Tasks.SourceSafe.GetTask.RemoveDeletedFromLocalImage(IVSSItem item, String localPathPrefix) in d:\Sanjay\Projects\nantcontrib-0.85-rc1-src\src\Tasks\SourceSafe\GetTask.cs:line 210
   at NAnt.Contrib.Tasks.SourceSafe.GetTask.RemoveDeletedFromLocalImage() in d:\Sanjay\Projects\nantcontrib-0.85-rc1-src\src\Tasks\SourceSafe\GetTask.cs:line 197
   at NAnt.Contrib.Tasks.SourceSafe.GetTask.ExecuteTask() in d:\Sanjay\Projects\nantcontrib-0.85-rc1-src\src\Tasks\SourceSafe\GetTask.cs:line 187
   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].
 
Total time: 0.1 seconds.
 
 
 
 
 
 
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Risler, Dave
Sent: Tuesday, February 01, 2005 4:06 PM
To: [email protected]
Subject: [Nant-users] RE: vssget failed "access denied"

Appreciate everybody's inputs on this, but we're still having the same problem.  A build with the -verbose option gave us this result that appears to be a NAnt Core issue.  Any ideas?  Is this a bug or do I have a problem in my <vssget> using the <version>?  I've tried the functions convert::to-string and convert::to-int, but the documentation says <version> is a string.

Thx!

Dave

      C:\0_drisler_test\vssget_changeset.build(53,7):

      The get operation failed.:

      NAnt.Core.BuildException: C:\0_drisler_test\vssget_changeset.build(53,7):

      The get operation failed. ---> System.Runtime.InteropServices.COMException (0x8004D84B): Access to file "C:\0_drisler_test" denied

         at SourceSafeTypeLib.VSSItemClass.Get(String& Local, Int32 iFlags)

         at NAnt.Contrib.Tasks.SourceSafe.GetTask.ExecuteTask() in d:\Source\nantcontrib-20041103T210313Z\src\Tasks\SourceSafe

      \GetTask.cs:line 182

         --- End of inner exception stack trace ---

         at NAnt.Contrib.Tasks.SourceSafe.GetTask.ExecuteTask() in d:\Source\nantcontrib-20041103T210313Z\src\Tasks\SourceSafe

      \GetTask.cs:line 184

         at NAnt.Core.Task.Execute() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Task.cs:line 177

         at NAnt.Core.TaskContainer.ExecuteChildTasks() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\TaskContainer.cs:line 120

         at NAnt.Core.TaskContainer.ExecuteTask() in d:\Source\nant 20050105T211034Z\src\NAnt.Core\TaskContainer.cs:line 90

         at NAnt.Core.Task.Execute() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Task.cs:line 177

         at NAnt.Core.Tasks.LoopTask.ExecuteChildTasks() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Tasks\LoopTask.cs:line 406

         at NAnt.Core.TaskContainer.ExecuteTask() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\TaskContainer.cs:line 90

         at NAnt.Core.Tasks.LoopTask.DoWork(String[] propVals) in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Tasks\LoopTask

      .cs:line 433

         at NAnt.Core.Tasks.LoopTask.DoWorkOnFileLines(String filename) in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Tasks

      \LoopTask.cs:line 448

         at NAnt.Core.Tasks.LoopTask.ExecuteTask() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Tasks\LoopTask.cs:line 364

         at NAnt.Core.Task.Execute() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Task.cs:line 177

         at NAnt.Core.Project.InitializeProjectDocument(XmlDocument doc) in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Proj

      ect.cs:line 1332

         at NAnt.Core.Project.Execute() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Project.cs:line 830

         at NAnt.Core.Project.Run() in d:\Source\nant-20050105T211034Z\src\NAnt.Core\Project.cs:line 924

_____________________________________________
From: Risler, Dave
Sent: Monday, January 31, 2005 3:14 PM
To: '[email protected]'
Subject: vssget failed "access denied"

Hi,

I am getting a "access to file <my VSS working directory> denied" error message from our build file.  Has anybody seen this before?

I've attached our full build file and the failing snippet below.  If I just do a <vssget> latest, no problems writing to the VSS working dir, but we need to select the explicit version cited in the changeset.txt file before doing a CM build.

 << File: vssget_perltext.build >>

Thanks,

Dave

<!-- using the <regex> task to extract the version number from each line                        -->

<!-- the pipe ( | ) char separates the version number -->

                <foreach item="Line" in="changeset.txt" property="myLine" >

                        <do>

                         <!-- debug -->

                                <echo message="line=${myLine}"/>

                                <regex pattern="(?'filename'.*)\|(?'version'\w+)$" input="${myLine}" />

                                <!-- debug -->

                                 <echo message="file=${filename}, ver=${version}"/>

                                 <vssget

                                        user="drisler"

                                        password=""

                                        localpath="C:\0_drisler_test"

                                        removedeleted="true"

                                        replace="true"

                                        writable="true"

                                        dbpath="\\icivss\DevSourceControl\srcsafe.ini"

                                        path="${filename}"

                                        version="${version}"

                                        />     

                                </do>  

                </foreach>


=========================================================
The information in this transmission is intended for official use only and may contain information from NJM Insurance Group that is privileged, confidential and exempt from disclosure under applicable law. It is intended for the exclusive use of the persons or entities to which it is addressed. If you are not an intended recipient or the employee or agent responsible for delivering this transmission to an intended recipient, be aware that any disclosure, dissemination, distribution or copying of this communication, or the use of its contents, is strictly prohibited. If you received this transmission in error, please notify the sender by return e-mail and delete the material from any computer.
=========================================================

Reply via email to