blob: 88ddbb565d6526b13501215c5c3c1d8cc5a44a81 [file] [log] [blame]
<!--
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
https://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>
&lt;project name="myproject" basedir="."
default="test" xmlns:vss="antlib:org.apache.ant.vss"&gt;
</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
&quot;Act on projects recursively&quot;. 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>
&lt;vss:get localPath=&quot;C:\mysrc\myproject&quot;
recursive=&quot;true&quot;
label=&quot;Release1&quot;
login=&quot;me,mypassword&quot;
vsspath=&quot;$/source/aProject&quot;
writable=&quot;true&quot;/&gt;
</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>
&lt;vss:label vsspath=&quot;$/source/aProject&quot;
login=&quot;me,mypassword&quot;
label=&quot;Release1&quot;/&gt;
</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>
&lt;vss:label vsspath=&quot;$/source/aProject/myfile.txt&quot;
version=&quot;4&quot;
label=&quot;1.03.004&quot;/&gt;
</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>
&lt;vss:history vsspath=&quot;$/myProject&quot; recursive=&quot;true&quot;
fromLabel=&quot;Release1&quot;
toLabel=&quot;Release2&quot;/&gt;
</pre>
</blockquote>
<p>Shows all changes between &quot;Release1&quot; and &quot;Release2&quot;.</p>
<blockquote>
<pre>
&lt;vss:history vsspath=&quot;$/myProject&quot; recursive=&quot;true&quot;
fromDate=&quot;01.01.2001&quot;
toDate=&quot;31.03.2001&quot;/&gt;
</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>
&lt;tstamp&gt;
&lt;format property=&quot;to.tstamp&quot; pattern=&quot;M-d-yy;h:mma&quot;/&gt;
&lt;/tstamp&gt;
&lt;vss:history vsspath=&quot;$/myProject&quot; recursive=&quot;true&quot;
numDays=&quot;-14&quot;
dateFormat=&quot;M-d-yy;h:mma&quot;
toDate=&quot;${to.tstamp}&quot;/&gt;
</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>
&lt;vss:checkin vsspath=&quot;$/test/test*&quot;
localpath=&quot;D:\build\&quot;
comment=&quot;Modified by automatic build&quot;/&gt;
</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>
&lt;vss:checkout vsspath=&quot;$/test&quot;
localpath=&quot;D:\build&quot;
recursive=&quot;true&quot;
login=&quot;me,mypass&quot;/&gt;
</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>
&lt;vss:add localpath=&quot;D:\build\build.00012.zip&quot;
comment=&quot;Added by automatic build&quot;/&gt;
</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>
&lt;vss:cp vsspath=&quot;$/Projects/ant&quot;/&gt;
</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>
&lt;vss:create vsspath=&quot;$/existingProject/newProject&quot;/&gt;
</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>
&lt;vss:destroy vsspath=&quot;$/existingProject/oldProject&quot;/&gt;
</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>
&lt;vss:move
vsspath="$/${vss-project}/sub2"
destination="$/${vss-project}/sub1"
login="Guest,"
/&gt;
</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>
&lt;vss:cloak
vsspath="$/${vss-project}"
login="Guest,"
/&gt;
</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>
&lt;vss:decloak
vsspath="$/${vss-project}"
login="Guest,"
/&gt;
</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>
&lt;vss:delete
vsspath="$/${vss-project}"
login="Guest,"
/&gt;
</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>
&lt;vss:recover
vsspath="$/${vss-project}"
login="Guest,"
/&gt;
</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>
&lt;vss:locate
vsspath="$/${vss-project}"
login="Guest,"
/&gt;
</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>
&lt;vss:status
vsspath=&quot;$/${vss-project}&quot;
login=&quot;Guest,&quot;
user=&quot;Guest&quot;
/&gt;
</pre>
</blockquote>
<p>Locates the VSS-Project <i>$/${vss-project}</i>.</p>
<hr>
<!-- Footer -->
</body>
</html>