| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html> |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <title>Microsoft Visual SourceSafe(VSS) Tasks</title> |
| </head> |
| <body> |
| <h1>Microsoft Visual SourceSafe Tasks User Manual</h1> |
| <p>by</p> |
| <ul> |
| <li>Craig Cottingham</li> |
| <li>Andrew Everitt</li> |
| <li>Balazs Fejes 2</li> |
| <li><a href="mailto:Glenn_Twiggs@bmc.com">Glenn_Twiggs@bmc.com</a></li> |
| <li>Martin Poeschl (<a href="mailto:mpoeschl@marmot.at">mpoeschl@marmot.at</a>)</li> |
| <li>Phillip Wells</li> |
| <li>Jon Skeet (<a href="mailto:jon.skeet@peramon.com">jon.skeet@peramon.com</a>)</li> |
| <li>Nigel Magnay (<a href="mailto:nigel.magnay@parsec.co.uk">nigel.magnay@parsec.co.uk</a>)</li> |
| <li>Gary S. Weaver</li> |
| <li>Jesse Stockall</li> |
| </ul> |
| <hr> |
| <h2>Contents</h2> |
| <ul> |
| <li><a href="#intro">Introduction</a></li> |
| <li><a href="#tasks">The Tasks</a></li> |
| </ul> |
| <br> |
| <h2><a name="intro">Introduction</a></h2> |
| <p>This antlib provides an interface to the |
| <a href="https://msdn.microsoft.com/ssafe/default.asp" target="_top">Microsoft Visual SourceSafe</a> SCM. |
| The original tasks (<code>org.apache.tools.ant.taskdefs.optional.vss</code>) have been expanded upon in this antlib. |
| Some fixes to issues in the original tasks have also been incorporated.</p> |
| <p> |
| If you get a CreateProcesss IOError=2 when running these, it means |
| that ss.exe was not found. Check to see if you can run it from the |
| command line -you may need to alter your path, or set the <tt>ssdir</tt> |
| property.</p> |
| <p> |
| To use this antlib in your build file, you must first declare it eg: |
| <blockquote> |
| <pre> |
| <project name="myproject" basedir="." |
| default="test" xmlns:vss="antlib:org.apache.ant.vss"> |
| </pre> |
| </blockquote> |
| |
| <h2><a name="tasks">The Tasks</a></h2> |
| |
| <table border="0" cellspacing="0" cellpadding="3"> |
| <tr> |
| <td><a href="#vss:get">vss:get</a></td> |
| <td>Retrieves a copy of the specified VSS file(s).</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:label">vss:label</a></td> |
| <td>Assigns a label to the specified version or current version of a file or project.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:history">vss:history</a></td> |
| <td>Shows the history of a file or project in VSS.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:checkin">vss:checkin</a></td> |
| <td>Updates VSS with changes made to a checked out file, and unlocks the VSS master copy.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:checkout">vss:checkout</a></td> |
| <td>Copies a file from the current project to the current folder, for the purpose of editing.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:add">vss:add</a></td> |
| <td>Adds a new file into the VSS Archive</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:cp">vss:cp</a></td> |
| <td>Change the current project being used in VSS</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:create">vss:create</a></td> |
| <td>Creates a project in VSS.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:destroy">vss:destroy</a></td> |
| <td>Permanently remove a file or project from VSS.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:move">vss:move</a></td> |
| <td>Relocates a subproject from one parent project to another.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:cloak">vss:cloak</a></td> |
| <td>Hides a project from recursive Get, Check Out, Check In, Undo Check Out, and Project Differences commands.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:decloak">vss:decloak</a></td> |
| <td>Removes the cloaked attribute from a project.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:delete">vss:delete</a></td> |
| <td>Removes files and projects from VSS Explorer, and marks them as deleted; the items still exist, however, and can be recovered using the Recover command.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:recover">vss:recover</a></td> |
| <td>Recovers files and projects that have been deleted.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:locate">vss:locate</a></td> |
| <td>Searches through VSS projects for file or project names.</td> |
| </tr> |
| <tr> |
| <td><a href="#vss:status">vss:status</a></td> |
| <td>Shows check out information on files.</td> |
| </tr> |
| </table> |
| |
| <hr> |
| <h2>Task Descriptions</h2> |
| |
| <!-- VSSGET --> |
| |
| <h2><a name="vss:get">vss:get</a></h2> |
| <h3>Description</h3> |
| Task to perform GET commands to Microsoft Visual SourceSafe. |
| <p>If you specify two or more attributes from version, date and |
| label only one will be used in the order version, date, label.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project/file(s) you wish to |
| perform the action on.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>localpath</td> |
| <td>Override the working directory and get to the specified path</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>writable</td> |
| <td>true or false; default false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td>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 |
| </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>version</td> |
| <td>a version number to get</td> |
| <td rowspan="3">No, only one of these allowed</td> |
| </tr> |
| <tr> |
| <td>date</td> |
| <td>a date stamp to get at</td> |
| </tr> |
| <tr> |
| <td>label</td> |
| <td>a label to get for</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is |
| used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>writablefiles</td> |
| <td>Behavior when local files are writable. Valid options are: <code>replace</code>, |
| <code>skip</code> and <code>fail</code>; Defaults to <code>fail</code> |
| <br><code>skip</code> implies <code>failonerror=false</code></td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>filetimestamp</td> |
| <td>Set the behavior for timestamps of local files. Valid options are <code>current</code>, |
| <code>modified</code>, or <code>updated</code>. Defaults to <code>current</code>.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <p>Note that only one of version, date or label should be specified</p> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:get localPath="C:\mysrc\myproject" |
| recursive="true" |
| label="Release1" |
| login="me,mypassword" |
| vsspath="$/source/aProject" |
| writable="true"/> |
| </pre> |
| </blockquote> |
| <p>Does a get on the VSS-Project <i>$/source/myproject</i> using the username |
| <i>me</i> and the password <i>mypassword</i>. It will recursively get the files |
| which are labeled <i>Release1</i> and write them to the local directory |
| <i>C:\mysrc\myproject</i>. The local files will be writable.</p> |
| <hr> |
| |
| <!-- VSSLABEL --> |
| |
| <h2><a name="vss:label">vss:label</a></h2> |
| <h3>Description</h3> |
| Task to perform LABEL commands to Microsoft Visual SourceSafe. |
| <p>Assigns a label to the specified version or current version of a file or |
| project.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project/file(s) you wish to |
| perform the action on.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>label</td> |
| <td>A label to apply to the hierarchy</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>version</td> |
| <td>An existing file or project version to label. By default the current |
| version is labeled.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>The comment to use for this label. Empty or '-' for no comment.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is |
| used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:label vsspath="$/source/aProject" |
| login="me,mypassword" |
| label="Release1"/> |
| </pre> |
| </blockquote> |
| <p>Labels the current version of the VSS project <i>$/source/aProject</i> with |
| the label <i>Release1</i> using the username <i>me</i> and the password |
| <i>mypassword</i>. |
| </p> |
| <blockquote> |
| <pre> |
| <vss:label vsspath="$/source/aProject/myfile.txt" |
| version="4" |
| label="1.03.004"/> |
| </pre> |
| </blockquote> |
| <p>Labels version 4 of the VSS file <i>$/source/aProject/myfile.txt</i> with the |
| label <i>1.03.004</i>. If this version already has a label, the operation (and |
| the build) will fail. |
| </p> |
| <hr> |
| |
| <!-- VSSHISTORY --> |
| |
| <h2><a name="vss:history">vss:history</a></h2> |
| <h3>Description</h3> |
| Task to perform HISTORY commands to Microsoft Visual SourceSafe. |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project/file(s) you wish to |
| perform the action on.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>fromDate</td> |
| <td>Start date for comparison</td> |
| <td>See below</td> |
| </tr> |
| <tr> |
| <td>toDate</td> |
| <td>End date for comparison</td> |
| <td>See below</td> |
| </tr> |
| <tr> |
| <td>dateFormat</td> |
| <td>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.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>fromLabel</td> |
| <td>Start label for comparison</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>toLabel</td> |
| <td>Start label for comparison</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>numdays</td> |
| <td>The number of days for comparison.</td> |
| <td>See below</td> |
| </tr> |
| <tr> |
| <td>output</td> |
| <td>File to write the diff.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>style</td> |
| <td>brief, codediff, default or nofile. The default is default.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>user</td> |
| <td>Name the user whose changes we would like to see</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h4>Specifying the time-frame</h4> |
| <p>There are different ways to specify what time-frame you wish to evaluate:</p> |
| <ul> |
| <li>Changes between two dates: Specify both <code>fromDate</code> and <code>toDate</code> </li> |
| <li>Changes before a date: Specify <code>toDate</code></li> |
| <li>Changes after a date: Specify <code>fromDate</code></li> |
| <li>Changes X Days before a date: Specify <code>toDate</code> and (negative!) <code>numDays</code></li> |
| <li>Changes X Days after a date: Specify <code>fromDate</code> and <code>numDays</code></li> |
| </ul> |
| |
| |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:history vsspath="$/myProject" recursive="true" |
| fromLabel="Release1" |
| toLabel="Release2"/> |
| </pre> |
| </blockquote> |
| <p>Shows all changes between "Release1" and "Release2".</p> |
| |
| <blockquote> |
| <pre> |
| <vss:history vsspath="$/myProject" recursive="true" |
| fromDate="01.01.2001" |
| toDate="31.03.2001"/> |
| </pre> |
| </blockquote> |
| <p>Shows all changes between January 1st 2001 and March 31st 2001 (in Germany, date must be specified according to your locale).</p> |
| |
| <blockquote> |
| <pre> |
| <tstamp> |
| <format property="to.tstamp" pattern="M-d-yy;h:mma"/> |
| </tstamp> |
| |
| <vss:history vsspath="$/myProject" recursive="true" |
| numDays="-14" |
| dateFormat="M-d-yy;h:mma" |
| toDate="${to.tstamp}"/> |
| </pre> |
| </blockquote> |
| <p>Shows all changes in the 14 days before today.</p> |
| <hr> |
| |
| <!-- VSSCHECKIN --> |
| |
| <h2><a name="vss:checkin">vss:checkin</a></h2> |
| <h3>Description</h3> |
| Task to perform CHECKIN commands to Microsoft Visual SourceSafe. |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project/file(s) you wish to |
| perform the action on.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>localpath</td> |
| <td>Override the working directory and get to the specified path</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>writable</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>Comment to use for the files that where checked in.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>'Y', 'N' or empty. Specify how to reply to questions from VSS.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:checkin vsspath="$/test/test*" |
| localpath="D:\build\" |
| comment="Modified by automatic build"/> |
| </pre> |
| </blockquote> |
| <p>Checks in the file(s) named <i>test*</i> in the project <i>$/test</i> using |
| the local directory <i>D:\build</i>.</p> |
| <hr> |
| |
| <!-- VSSCHECKOUT --> |
| |
| <h2><a name="vss:checkout">vss:checkout</a></h2> |
| <h3>Description</h3> |
| Task to perform CHECKOUT commands to Microsoft Visual SourceSafe. |
| <p>If you specify two or more attributes from version, date and |
| label only one will be used in the order version, date, label.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project/file(s) you wish to |
| perform the action on.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>localpath</td> |
| <td>Override the working directory and get to the specified path</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>writable</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>version</td> |
| <td>a version number to get</td> |
| <td rowspan="3">No, only one of these allowed</td> |
| </tr> |
| <tr> |
| <td>date</td> |
| <td>a date stamp to get at</td> |
| </tr> |
| <tr> |
| <td>label</td> |
| <td>a label to get for</td> |
| </tr> |
| <tr> |
| <td>writablefiles</td> |
| <td>Behavior when local files are writable. Valid options are: <code>replace</code>, |
| <code>skip</code> and <code>fail</code>; Defaults to <code>fail</code> |
| <br><code>skip</code> implies <code>failonerror=false</code></td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>filetimestamp</td> |
| <td>Set the behavior for timestamps of local files. Valid options are <code>current</code>, |
| <code>modified</code>, or <code>updated</code>. Defaults to <code>current</code>.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>getlocalcopy</td> |
| <td>Set the behavior to retrieve local copies of the files. Defaults to true.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:checkout vsspath="$/test" |
| localpath="D:\build" |
| recursive="true" |
| login="me,mypass"/> |
| </pre> |
| </blockquote> |
| <p>Does a recursive checkout of the project <i>$/test</i> to the directory D:\build. |
| </p> |
| <hr> |
| |
| <!-- VSSADD --> |
| |
| <h2><a name="vss:add">vss:add</a></h2> |
| <h3>Description</h3> |
| Task to perform ADD commands to Microsoft Visual SourceSafe. |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>localpath</td> |
| <td>Specify the local file(s) to add to VSS</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>writable</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td>true or false</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>Comment to use for the files that where checked in.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>'Y', 'N' or empty. Specify how to reply to questions from VSS.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:add localpath="D:\build\build.00012.zip" |
| comment="Added by automatic build"/> |
| </pre> |
| </blockquote> |
| <p>Add the file named build.00012.zip into the project current working |
| directory (see vsscp).</p> |
| <hr> |
| |
| <!-- VSSCP --> |
| |
| <h2><a name="vss:cp">vss:cp</a></h2> |
| <h3>Description</h3> |
| <p>Task to perform CP (Change Project) commands to Microsoft Visual SourceSafe.</p> |
| <p>This task is typically used before a VssAdd in order to set the target project</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path which specifies the project you wish to |
| make the current project.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>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. </td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the |
| task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>serverPath</td> |
| <td>directory where <code>srcsafe.ini</code> resides.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the buildprocess if ss.exe exits with a returncode of 100. Defaults to true</td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:cp vsspath="$/Projects/ant"/> |
| </pre> |
| </blockquote> |
| <p>Sets the current VSS project to <i>$/Projects/ant</i>.</p> |
| <hr> |
| |
| <!-- VSSCREATE --> |
| |
| <h2><a name="vss:create">vss:create</a></h2> |
| <h3>Description</h3> |
| Task to perform CREATE commands to Microsoft Visual Source Safe. |
| <p>Creates a new project in VSS.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project to be created</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>The comment to use for this label. Empty or '-' for no comment.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:create vsspath="$/existingProject/newProject"/> |
| </pre> |
| </blockquote> |
| <p>Creates the VSS-Project <i>$/existingProject/newProject</i>.</p> |
| <!-- vss:destroy --> |
| <h2><a name="vss:destroy">vss:destroy</a></h2> |
| <h3>Description</h3> |
| Task to perform DESTROY commands to Microsoft Visual Source Safe. |
| <p>Permanently removes a project or file in VSS.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project to be removed</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:destroy vsspath="$/existingProject/oldProject"/> |
| </pre> |
| </blockquote> |
| <p>Permanently removes the VSS-Project <i>$/existingProject/oldProject</i>.</p> |
| |
| <!-- vss:move --> |
| <h2><a name="vss:move">vss:move</a></h2> |
| <h3>Description</h3> |
| Task to perform MOVE commands to Microsoft Visual Source Safe. |
| <p>Moves a project or file in VSS.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project to be moved</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>destination</td> |
| <td>location in VSS to move project specified by vsspath to.</td> |
| <td>Yes</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:move |
| vsspath="$/${vss-project}/sub2" |
| destination="$/${vss-project}/sub1" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Moves the VSS-Project <i>$/${vss-project}/sub2</i> to <i>$/${vss-project}/sub1/sub2</i>.</p> |
| |
| <!-- vss:cloak --> |
| <h2><a name="vss:cloak">vss:cloak</a></h2> |
| <h3>Description</h3> |
| Task to perform CLOAK commands to Microsoft Visual Source Safe. |
| <p>Hides a project from recursive Get, Check Out, Check In, Undo Check Out, and Project Differences commands.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project to be cloaked</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:cloak |
| vsspath="$/${vss-project}" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Cloaks the VSS-Project <i>$/${vss-project}</i>.</p> |
| |
| <!-- vss:decloak --> |
| <h2><a name="vss:decloak">vss:decloak</a></h2> |
| <h3>Description</h3> |
| Task to perform DECLOAK commands to Microsoft Visual Source Safe. |
| <p>Removes the cloaked attribute from a project.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project to be decloaked</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:decloak |
| vsspath="$/${vss-project}" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Decloaks the VSS-Project <i>$/${vss-project}</i>.</p> |
| |
| <!-- vss:delete --> |
| <h2><a name="vss:delete">vss:delete</a></h2> |
| <h3>Description</h3> |
| Task to perform DELETE commands to Microsoft Visual Source Safe. |
| <p>Removes files and projects from VSS Explorer, and marks them as deleted; the items still exist, however, and can be recovered using the Recover command.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project or file to be deleted</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:delete |
| vsspath="$/${vss-project}" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Deletes the VSS-Project <i>$/${vss-project}</i>.</p> |
| |
| <!-- vss:recover --> |
| <h2><a name="vss:recover">vss:recover</a></h2> |
| <h3>Description</h3> |
| Task to perform RECOVER commands to Microsoft Visual Source Safe. |
| <p>Recovers files and projects that have been deleted.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project or file to be recovered</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:recover |
| vsspath="$/${vss-project}" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Recovers the VSS-Project <i>$/${vss-project}</i>.</p> |
| |
| <!-- vss:locate --> |
| <h2><a name="vss:locate">vss:locate</a></h2> |
| <h3>Description</h3> |
| Task to perform LOCATE commands to Microsoft Visual Source Safe. |
| <p>Locates files and projects in VSS.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project or file to be recovered</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:locate |
| vsspath="$/${vss-project}" |
| login="Guest," |
| /> |
| </pre> |
| </blockquote> |
| <p>Locates the VSS-Project <i>$/${vss-project}</i>.</p> |
| |
| <!-- vss:status --> |
| <h2><a name="vss:status">vss:status</a></h2> |
| <h3>Description</h3> |
| Task to perform STATUS commands to Microsoft Visual Source Safe. |
| <p>Shows check out information on files VSS.</p> |
| <h3>Parameters</h3> |
| <table border="1" cellpadding="2" cellspacing="0"> |
| <tr> |
| <th>Attribute</th> |
| <th>Values</th> |
| <th>Required</th> |
| </tr> |
| <tr> |
| <td>login</td> |
| <td>username,password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>user</td> |
| <td>The user to search for files for.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>vsspath</td> |
| <td>SourceSafe path of project or file to be recovered</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>ssdir</td> |
| <td>directory where <code>ss.exe</code> resides. By default the task expects it to be in the PATH.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>quiet</td> |
| <td>suppress output (off by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>failOnError</td> |
| <td>fail if there is an error creating the project (true by default)</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>autoresponse</td> |
| <td>What to respond with (sets the -I option). By default, -I- is used; values of Y or N will be appended to this.</td> |
| <td>No</td> |
| </tr> |
| </table> |
| <h3>Examples</h3> |
| <blockquote> |
| <pre> |
| <vss:status |
| vsspath="$/${vss-project}" |
| login="Guest," |
| user="Guest" |
| /> |
| </pre> |
| </blockquote> |
| <p>Locates the VSS-Project <i>$/${vss-project}</i>.</p> |
| <hr> |
| |
| <!-- Footer --> |
| </body> |
| </html> |