LabelGet: Checking out "".

Oct 16, 2008 at 4:30 PM
Edited Oct 16, 2008 at 5:06 PM
I am just getting started with Sdc.Tasks and am building a test project whose source code is stored in VSS 6.0d.  I have the following target defined to label and get the latest version from VSS:

<

Target Name="GetLatestVersionVSS">
    <
SourceSafe.LabelGet 
        Database="\\ofmapoly003\Individual\michaelc\VSS\Astronom_VSS
        Username="build" Password="build" 
        Label="Build_001" 
        VersionNumberConfigFileLocation="C:\Documents and Settings\michaelc\My Documents\Visual Studio 2005\Projects\Astronom\Astronomer\SDC_config.xml"
        Project="$/Astronom.root/Astronom/Astronomer"
        WorkingDirectory="C:\Documents and Settings\michaelc\My Documents\Visual Studio 2005\Projects\Astronom\Astronomer" >
    </
SourceSafe.LabelGet>
</
Target>

This runs, but instead actually doing something, it goes to:


Target GetLatestVersionVSS:
    Connecting to VSS.
    Checking out "".

And never returns.  Additionally, it "consumes" the SDC_config.xml file referenced in VersionNumberConfigFileLocation -- meaning it deletes it!  That file looks like:

<?xml version="1.0" encoding="utf-8" ?>
<
configuration>
    <
appSettings>
        <
add key="major" value="1" />
        <
add key="minor" value="0" />
        <
add key="build" value="0" />
        <
add key="revision" value="1" />
    </
appSettings>
</
configuration>

 

 

What am I doing wrong?

 

Developer
Oct 17, 2008 at 12:02 PM
I've not used this task before, but looking at the code, I would say you are doing nothing wrong. There appear to be two bugs in the task, so I'm not sure how it ever worked.

It doesnt set the password you pass, so VSS is invisibly prompting you for a password for the user. (note, you will have rogue VSS.exe processes. kill them using task manager)
It also deletes the versioning file before trying to use it.

Go to the SourceCode tab and get the code for the checkin i just did (23640). If you compile that, it should work for you.