Apache Ant TasksMicrosoft Visual SourceSafe TasksMicrosoft Visual SourceSafe Tasks User Manualby
Contents
IntroductionThese tasks provide an interface to theMicrosoft Visual SourceSafe SCM.The org.apache.tools.ant.taskdefs.optional.vss package consists of a simple framework to supportvss functionality as well as some Apache Ant tasks encapsulating frequently used vss commands.Although it is possible to use these commands on the desktop,they were primarily intended to be used by automated build systems. If you get a CreateProcesss IOError=2 when running these, it meansthat ss.exe was not found. Check to see if you can run it from thecommand line -you may need to alter your path, or set the ssdirproperty. The Tasks vssget | Retrieves a copy of the specified VSS file(s). | vsslabel | Assigns a label to the specified version or current version of a file or project. | vsshistory | Shows the history of a file or project in VSS. | vsscheckin | Updates VSS with changes made to a checked out file, and unlocks the VSS master copy. | vsscheckout | Copies a file from the current project to the current folder, for the purpose of editing. | vssadd | Adds a new file into the VSS Archive | vsscp | Change the current project being used in VSS | vsscreate | Creates a project in VSS. |
Task DescriptionsVssGetDescriptionTask to perform GET commands to Microsoft Visual SourceSafe.If you specify two or more attributes from version, date andlabel only one will be used in the order version, date, label. Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project/file(s) you wish to perform the action on. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | localpath | Override the working directory and get to the specified path | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | writable | true or false; default false | No | recursive | true or false; default false. Note however that in the SourceSafe UI , there is a setting accessed via Tools/Options/GeneralTab called "Act on projects recursively". If this setting is checked, then the recursive attribute is effectively ignored, and the get will always be done recursively | No | version | a version number to get | No, only one of these allowed | date | a date stamp to get at | label | a label to get for | quiet | suppress output (off by default) | No | autoresponse | What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this. | No | writablefiles | Behavior when local files are writable. Valid options are: replace , skip and fail ; Defaults to fail
skip implies failonerror=false | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | filetimestamp | Set the behavior for timestamps of local files. Valid options are current , modified , or updated . Defaults to current . | No | Note that only one of version, date or label should be specified Examples<vssget localPath="C:mysrcmyproject" recursive="true" label="Release1" login="me,mypassword" vsspath="$/source/aProject" writable="true"/>
Does a get on the VSS-Project $/source/myproject using the usernameme and the password mypassword. It will recursively get the fileswhich are labeled Release1 and write them to the local directoryC:mysrcmyproject. The local files will be writable.
VssLabelDescriptionTask to perform LABEL commands to Microsoft Visual SourceSafe.Assigns a label to the specified version or current version of a file orproject. Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project/file(s) you wish to perform the action on. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | label | A label to apply to the hierarchy | Yes | version | An existing file or project version to label. By default the current version is labeled. | No | comment | The comment to use for this label. Empty or '-' for no comment. | No | autoresponse | What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this. | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | Examples<vsslabel vsspath="$/source/aProject" login="me,mypassword" label="Release1"/>
Labels the current version of the VSS project $/source/aProject withthe label Release1 using the username me and the passwordmypassword. <vsslabel vsspath="$/source/aProject/myfile.txt" version="4" label="1.03.004"/>
Labels version 4 of the VSS file $/source/aProject/myfile.txt with thelabel 1.03.004. If this version already has a label, the operation (andthe build) will fail.
VssHistoryDescriptionTask to perform HISTORY commands to Microsoft Visual SourceSafe.Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project/file(s) you wish to perform the action on. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | fromDate | Start date for comparison | See below | toDate | End date for comparison | See below | dateFormat | Format of dates in fromDate and toDate. Used when calculating dates with the numdays attribute. This string uses the formatting rules of SimpleDateFormat. Defaults to DateFormat.SHORT. | No | fromLabel | Start label for comparison | No | toLabel | Start label for comparison | No | numdays | The number of days for comparison. | See below | output | File to write the diff. | No | recursive | true or false | No | style | brief, codediff, default or nofile. The default is default. | No | user | Name the user whose changes we would like to see | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | Specifying the time-frameThere are different ways to specify what time-frame you wish to evaluate: - Changes between two dates: Specify both
fromDate and toDate - Changes before a date: Specify
toDate - Changes after a date: Specify
fromDate - Changes X Days before a date: Specify
toDate and (negative!) numDays - Changes X Days after a date: Specify
fromDate and numDays Examples <vsshistory vsspath="$/myProject" recursive="true" fromLabel="Release1" toLabel="Release2"/> Shows all changes between "Release1" and "Release2". <vsshistory vsspath="$/myProject" recursive="true" fromDate="01.01.2001" toDate="31.03.2001"/> Shows all changes between January 1st 2001 and March 31st 2001 (in Germany, date must be specified according to your locale). <tstamp> <format property="to.tstamp" pattern="M-d-yy;h:mma"/></tstamp><vsshistory vsspath="$/myProject" recursive="true" numDays="-14" dateFormat="M-d-yy;h:mma" toDate="${to.tstamp}"/> Shows all changes in the 14 days before today.
VssCheckinDescriptionTask to perform CHECKIN commands to Microsoft Visual SourceSafe.Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project/file(s) you wish to perform the action on. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | localpath | Override the working directory and get to the specified path | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | writable | true or false | No | recursive | true or false | No | comment | Comment to use for the files that where checked in. | No | autoresponse | 'Y', 'N' or empty. Specify how to reply to questions from VSS. | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | Examples<vsscheckin vsspath="$/test/test*" localpath="D:uild" comment="Modified by automatic build"/>
Checks in the file(s) named test* in the project $/test usingthe local directory D:uild.
VssCheckoutDescriptionTask to perform CHECKOUT commands to Microsoft Visual SourceSafe.If you specify two or more attributes from version, date andlabel only one will be used in the order version, date, label. Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project/file(s) you wish to perform the action on. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | localpath | Override the working directory and get to the specified path | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | writable | true or false | No | recursive | true or false | No | version | a version number to get | No, only one of these allowed | date | a date stamp to get at | label | a label to get for | writablefiles | Behavior when local files are writable. Valid options are: replace , skip and fail ; Defaults to fail
skip implies failonerror=false | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | filetimestamp | Set the behavior for timestamps of local files. Valid options are current , modified , or updated . Defaults to current . | No | getlocalcopy | Set the behavior to retrieve local copies of the files. Defaults to true. | No | Examples<vsscheckout vsspath="$/test" localpath="D:uild" recursive="true" login="me,mypass"/>
Does a recursive checkout of the project $/test to the directory D:uild.
VssAddDescriptionTask to perform ADD commands to Microsoft Visual SourceSafe.Parameters Attribute | Values | Required | localpath | Specify the local file(s) to add to VSS | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | writable | true or false | No | recursive | true or false | No | comment | Comment to use for the files that where checked in. | No | autoresponse | 'Y', 'N' or empty. Specify how to reply to questions from VSS. | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | Examples<vssadd localpath="D:uilduild.00012.zip" comment="Added by automatic build"/>
Add the file named build.00012.zip into the project current workingdirectory (see vsscp).
VssCpDescriptionTask to perform CP (Change Project) commands to Microsoft Visual SourceSafe. This task is typically used before a VssAdd in order to set the target project Parameters Attribute | Values | Required | vsspath | SourceSafe path which specifies the project you wish to make the current project. | Yes | login | username[,password] - The username and password needed to get access to VSS. Note that you may need to specify both (if you have a password) - Ant/VSS will hang if you leave the password out and VSS does not accept login without a password. | No | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | serverPath | directory where srcsafe.ini resides. | No | failonerror | Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true | No | Examples<vsscp vsspath="$/Projects/ant"/>
Sets the current VSS project to $/Projects/ant. VssCreate Description Task to perform CREATE commands to Microsoft Visual Source Safe. Creates a new project in VSS. Parameters Attribute | Values | Required | login | username,password | No | vsspath | SourceSafe path of project to be created | Yes | ssdir | directory where ss.exe resides. By default the task expects it to be in the PATH. | No | quiet | suppress output (off by default) | No | failOnError | fail if there is an error creating the project (true by default) | No | autoresponse | What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this. | No | comment | The comment to use for this label. Empty or '-' for no comment. | No | Examples<vsscreate vsspath="$/existingProject/newProject"/>
Creates the VSS-Project $/existingProject/newProject. |