| <!DOCTYPE html> |
| <!-- |
| 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 lang="en"> |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <title>SOS Tasks</title> |
| </head> |
| <body> |
| |
| <h1>SourceOffSite Tasks User Manual</h1> |
| <p>by</p> |
| <ul> |
| <li><a href="mailto:jesse@cryptocard.com">Jesse Stockall</a></li> |
| </ul> |
| <p>Version 1.1 2002/01/23</p> |
| |
| <hr/> |
| <h2>Contents</h2> |
| |
| <ul> |
| <li><a href="#intro">Introduction</a></li> |
| <li><a href="#tasks">The Tasks</a></li> |
| </ul> |
| |
| <h2 id="intro">Introduction</h2> |
| |
| <p>These tasks provide an interface to |
| the <a href="https://msdn.microsoft.com/en-us/library/3h0544kx(v=vs.80).aspx" |
| target="_top">Microsoft Visual SourceSafe</a> SCM via <a href="https://sourcegear.com" |
| target="_top">SourceGear's</a> <a href="https://sourcegear.com/sos/" target="_top">SourceOffSite</a> |
| product. SourceOffSite is an add-on to Microsoft's VSS, that allows remote development teams and |
| tele-commuters that need fast and secure read/write access to a centralized SourceSafe database via |
| any TCP/IP connection. SOS provides Linux, Solaris & Windows |
| clients. The <code class="code">org.apache.tools.ant.taskdefs.optional.sos</code> package consists |
| of a simple framework to support SOS functionality as well as some Apache Ant tasks encapsulating |
| frequently used SOS commands. Although it is possible to use these commands on the desktop, they |
| were primarily intended to be used by automated build systems. These tasks have been tested with |
| SourceOffSite version 3.5.1 connecting to VisualSourceSafe 6.0. The tasks have been tested with |
| Linux, Solaris & Windows 2000.</p> |
| |
| <h2 id="tasks">The Tasks</h2> |
| |
| <table> |
| <tbody> |
| <tr> |
| <td><a href="#SOSGet">sosget</a></td> |
| <td>Retrieves a read-only copy of the specified project or file.</td> |
| </tr> |
| <tr> |
| <td><a href="#SOSLabel">soslabel</a></td> |
| <td>Assigns a label to the specified project.</td> |
| </tr> |
| <tr> |
| <td><a href="#SOSCheckIn">soscheckin</a></td> |
| <td>Updates VSS with changes made to a checked out file or project, |
| and unlocks the VSS master copy.</td> |
| </tr> |
| <tr> |
| <td><a href="#SOSCheckOut">soscheckout</a></td> |
| <td>Retrieves a read-write copy of the specified project or file, locking the VSS master |
| copy</td> |
| </tr> |
| </tbody> |
| </table> |
| <hr/> |
| <h2>Task Descriptions</h2> |
| |
| <h2 id="SOSGet">SOSGet</h2> |
| <h3>Description</h3> |
| <p>Task to perform <var>Get</var> commands with SOS</p> |
| <h3>Parameters</h3> |
| |
| <table class="attr"> |
| <thead> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Values</th> |
| <th scope="col">Required</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>soscmd</td> |
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> |
| <td>No; by default, the executable must be in the path</td> |
| </tr> |
| <tr> |
| <td>vssserverpath</td> |
| <td>path to the <samp>srcsafe.ini</samp>—eg. <samp>\\server\vss\srcsafe.ini</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>sosserverpath</td> |
| <td>address & port of the SOS server—eg. <samp>192.168.0.1:8888</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>projectpath</td> |
| <td>SourceSafe project path—eg. <samp>$/SourceRoot/Project1</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>file</td> |
| <td>Filename to act upon</td> |
| <td>No; by default, act upon the project</td> |
| </tr> |
| <tr> |
| <td>username</td> |
| <td>SourceSafe username</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>password</td> |
| <td>SourceSafe 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>soshome</td> |
| <td>The path to the SourceOffSite home directory</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocompress</td> |
| <td><q>true|false</q>—disable compression</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td><q>true|false</q>—Only works with the <var>GetProject</var> command</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>version</td> |
| <td>a version number to get—Only works with the <var>GetFile</var> command</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>label</td> |
| <td>a label version to get—Only works with the <var>GetProject</var> command</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocache</td> |
| <td><q>true|false</q>—Only needed if <code>SOSHOME</code> is set as an environment |
| variable</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>verbose</td> |
| <td><q>true|false</q>—Status messages are displayed</td> |
| <td>No</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3>Example</h3> |
| |
| <p>Connect to a SourceOffsite server on <samp>192.168.10.6:8888</samp> |
| with <q>build</q>, <q>build</q> as the username & password. The SourceSafe database resides on |
| the same box as the SOS server & the VSS database is at <samp>d:\vss\srcsafe.ini</samp>. Do a |
| recursive <var>GetProject</var> on <samp>$/SourceRoot/project1</samp>, using <samp>tmp</samp> as the |
| working directory.</p> |
| <pre> |
| <sosget verbose="true" |
| recursive="true" |
| username="build" |
| password="build" |
| localpath="tmp" |
| projectpath="$/SourceRoot/project1" |
| sosserverpath="192.168.10.6:8888" |
| vssserverpath="d:\vss\srcsafe.ini"/></pre> |
| |
| <hr/> |
| <h2 id="SOSLabel">SOSLabel</h2> |
| |
| <h3>Description</h3> |
| <p>Task to perform <var>Label</var> commands with SOS</p> |
| <h3>Parameters</h3> |
| |
| <table class="attr"> |
| <thead> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Values</th> |
| <th scope="col">Required</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>soscmd</td> |
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> |
| <td>No; by default, the executable must be in the path</td> |
| </tr> |
| <tr> |
| <td>vssserverpath</td> |
| <td>path to the <samp>srcsafe.ini</samp>—eg. <samp>\\server\vss\srcsafe.ini</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>sosserverpath</td> |
| <td>address and port of the SOS server—eg. <samp>192.168.0.1:8888</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>projectpath</td> |
| <td>SourceSafe project path—eg. <samp>$/SourceRoot/Project1</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>username</td> |
| <td>SourceSafe username</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>password</td> |
| <td>SourceSafe password</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>label</td> |
| <td>The label to apply to a project</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>A comment to be applied to all files being labeled</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>verbose</td> |
| <td><q>true|false</q>—Status messages are displayed</td> |
| <td>No</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3>Example</h3> |
| |
| <p>Connect to a SourceOffsite server on <samp>192.168.10.6:8888</samp> |
| with <q>build</q>, <q>build</q> as the username & password. The SourceSafe database resides on |
| the same box as the SOS server & the VSS database is at <samp>d:\vss\srcsafe.ini</samp>. Label |
| the <samp>$/SourceRoot/project1</samp> project with <q>test label</q>.</p> |
| <pre> |
| <soslabel username="build" |
| password="build" |
| label="test label" |
| projectpath="$/SourceRoot/project1" |
| sosserverpath="192.168.10.6:8888" |
| vssserverpath="d:\vss\srcsafe.ini"/></pre> |
| |
| <hr/> |
| <h2 id="SOSCheckIn">SOSCheckIn</h2> |
| |
| <h3>Description</h3> |
| <p>Task to perform <var>CheckIn</var> commands with SOS</p> |
| <h3>Parameters</h3> |
| <table class="attr"> |
| <thead> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Values</th> |
| <th scope="col">Required</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>soscmd</td> |
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> |
| <td>No; by default, the executable must be in the path</td> |
| </tr> |
| <tr> |
| <td>vssserverpath</td> |
| <td>path to the <samp>srcsafe.ini</samp>—eg. <samp>\\server\vss\srcsafe.ini</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>sosserverpath</td> |
| <td>address and port of the SOS server—eg. <samp>192.168.0.1:8888</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>projectpath</td> |
| <td>SourceSafe project path—eg. <samp>$/SourceRoot/Project1</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>file</td> |
| <td>Filename to act upon</td> |
| <td>No; by default, act upon the project</td> |
| </tr> |
| <tr> |
| <td>username</td> |
| <td>SourceSafe username</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>password</td> |
| <td>SourceSafe 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>soshome</td> |
| <td>The path to the SourceOffSite home directory</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocompress</td> |
| <td><q>true|false</q>—disable compression</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td><q>true|false</q>—Only works with the <var>CheckOutProject</var> command</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocache</td> |
| <td><q>true|false</q>—Only needed if <code>SOSHOME</code> is set as an environment |
| variable</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>verbose</td> |
| <td><q>true|false</q>—Status messages are displayed</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>comment</td> |
| <td>A comment to be applied to all files being checked in</td> |
| <td>No</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3>Example</h3> |
| |
| <p>Connect to a SourceOffsite server on <samp>server1:8888</samp> with <q>build</q>, <q>build</q> as |
| the username & password. The SourceSafe database resides on a different box |
| (<samp>server2</samp>) & the VSS database is on a share called <samp>vss</samp>. Check-in only |
| the <samp>foobar.txt</samp> file adding a comment of <q>comment abc</q>. Extra status messages will |
| be displayed on screen.</p> |
| <pre> |
| <soscheckin username="build" |
| password="build" |
| file="foobar.txt" |
| verbose="true" |
| comment="comment abc" |
| projectpath="$/SourceRoot/project1" |
| sosserverpath="server1:8888" |
| vssserverpath="\\server2\vss\srcsafe.ini"/></pre> |
| |
| <hr/> |
| <h2 id="SOSCheckOut">SOSCheckOut</h2> |
| |
| <h3>Description</h3> |
| <p>Task to perform <var>CheckOut</var> commands with SOS</p> |
| |
| <h3>Parameters</h3> |
| |
| <table class="attr"> |
| <thead> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Values</th> |
| <th scope="col">Required</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>soscmd</td> |
| <td>Directory which contains <kbd>soscmd(.exe)</kbd></td> |
| <td>No; by default, the executable must be in the path</td> |
| </tr> |
| <tr> |
| <td>vssserverpath</td> |
| <td>path to the <samp>srcsafe.ini</samp>—eg. <samp>\\server\vss\srcsafe.ini</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>sosserverpath</td> |
| <td>address and port of the SOS server—eg. <samp>192.168.0.1:8888</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>projectpath</td> |
| <td>SourceSafe project path—eg. <samp>$/SourceRoot/Project1</samp></td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>file</td> |
| <td>Filename to act upon</td> |
| <td>No; by default, act upon the project</td> |
| </tr> |
| <tr> |
| <td>username</td> |
| <td>SourceSafe username</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>password</td> |
| <td>SourceSafe 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>soshome</td> |
| <td>The path to the SourceOffSite home directory</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocompress</td> |
| <td><q>true|false</q>—disable compression</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>recursive</td> |
| <td><q>true|false</q>—Only works with the <var>CheckOutProject</var> command</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>nocache</td> |
| <td><q>true|false</q>—Only needed if <code>SOSHOME</code> is set as an environment variable</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>verbose</td> |
| <td><q>true|false</q>—Status messages are displayed</td> |
| <td>No</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h3>Example</h3> |
| |
| <p>Connect to a SourceOffsite server on <samp>server1:8888</samp> with <q>build</q>, <q>build</q> as |
| the username & password. The SourceSafe database resides on a different box |
| (<samp>server2</samp>) & the VSS database is on a share |
| called <samp>vss</samp>. Check-out <q>project1</q>, only the <samp>project1</samp> directory will be |
| locked as the recursive option was not set. Extra status messages will be displayed on |
| screen. The <code>soscmd(.exe)</code> file to be used resides in <samp>/usr/local/bin</samp>.</p> |
| <pre> |
| <soscheckout soscmd="/usr/local/bin" |
| verbose="true" |
| username="build" |
| password="build" |
| projectpath="$/SourceRoot/project1" |
| sosserverpath="192.168.10.6:8888" |
| vssserverpath="\\server2\vss\srcsafe.ini"/></pre> |
| |
| </body> |
| </html> |