In order to use this repository, Visual Sourcesafe needs to be installed in your build machine. Download Visual Sourcesafe from http://download.microsoft.com.
![]() | Warning |
|---|---|
You need to run the application server (Tomcat by default) that hosts QuickBuild as a foreground process (instead of a NT service) in order to work with Sourcesafe repository. | |
![]() | Note |
|---|---|
In order to keep output of history command of Visual Sourcesafe accurate, time setting of all developer workstations, and the build server should be kept in sync. | |
![]() | Note |
|---|---|
Currently only English version of Sourcesafe is supported. | |
The following list of properties needs to be configured:
The directory where your srcsafe.ini resides in. For
example: \\machine1\directory1.
![]() | Note |
|---|---|
You should login to the remote machine first. | |
User name to use to login to the above Sourcesafe database.
Password for the above user name.
Specify the date/time format used for the Sourcesafe history command. This property is optional. If left empty, QuickBuild will use "M/dd/yy;h:mm:ssa" as the default value. The default value is suitable for English language operating systems using US locale. For other English speaking countries with different date format like UK, Australia, and Canada the Visual Sourcesafe Date format to use (assuming you're using the appropriate locale setup as Visual Sourcesafe honors the local locale settings) should be as follows:
'd/M/yy;H:mm'
If QuickBuild is running on non-english operating systems, use the following method to determine the datetime format:
Open Visual Sourcesafe installed on your build machine, select an existing VSS database and choose to view one of the projects with files in it. There should be a list of files shown with several fields including the "Date-Time" field. You should use the datetime format property from value specified in this field. For example, if one of the values of this field is 04-07-18 20:19, the datetime format property should be yy-MM-dd;HH:mm. The semicolon between date and time format should be specified. You are encouraged to specify the property as yy-MM-dd;HH:mm:ss to add the accuracy. Take another example, if the value shown in Visual Sourcesafe is 7/18/04 8:19p, the datetime format should be M/dd/yy;h:mma. Format M/dd/yy;h:mm:ssa would increase the accuracy in this case.
The following is a list of format character meanings copied from JDK documentation:
Table 3.1. Date/Time format characters
| Character | Meaning | Example |
|---|---|---|
| y | Year | 1996 ; 96 |
| M | Month in year | July ; Jul ; 07 |
| d | Day in month | 10 |
| a | Am/pm marker | p |
| H | Hour in day (0-23) | 0 |
| h | Hour in am/pm (1-12) | 12 |
| m | Minute in hour | 30 |
| s | Second in minute | 55 |
For details about the format string, please refer to http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
Path to your ss.exe. For example: C:\Program
Files\Microsoft Visual Studio\Common\VSS\win32\ss.exe.
It should be specified here, if it does not exist in the system
path.
Specify version of the build since which the revision log will be retrieved. If left empty, revision log will not be retrieved.
Number of seconds the current repository should be quiet (without checkins) before QuickBuild decides to check out the code from this repository for a build. This is used to avoid checking out the code in the middle of some other checkins. This property is optional. When set as 0, quiet period will not be used before checking out the code to build.
Choose login mapping for this repository. Login mapping is used to map repository login to QuickBuild user. It can be configured at "login mappings" tab of the configuration.
Here is the list of properties you should configure in order to define a module:
Specify the path in the VSS repository, for example: /testvss, or $/testvss. To specify the whole repository, just use /, or $/.
Specify the label for the above source path. This property is optional. If left empty, latest version is assumed.
Specify the directory relative to the checkout directory of the current configuration, where the contents under the above source path should be retrieved to. If left empty, retrieved code will be put into directory defined by the source path relative to the checkout directory.
Source path represents a project path relative to the root of Sourcesafe, for example testvss, /testvss, or /testvss/web, etc. Path / or \ can be used to retrieve the whole contents of the repository. Label stands for a VSS label. VSS implements branches by creating a new shared Sourcesafe projects. So you may need to configure different modules in order to get the code from different branches. If Label is left empty, QuickBuild will get the latest code for that module from VSS. If Destination path is defined, contents from Sourcesafe will be retrieved to Destination path relative to the configuration's checkout directory. Otherwise the contents will be put to Source path relative to configuration's checkout directory.
![]() | Warning |
|---|---|
Because Visual Sourcesafe has the limitation that only one label can be attached to a particular version (except for head version). So if you define a module with a particular label, retrieve it for build, and set new label after the build, the original label will get removed, which will cause failure of subsequent builds (because original label can not be found in VSS repository). Take an example, for a particular configuration, we define a VSS repository with the following modules:
We define steps to retrieve and build against the code
from this repository, and create new label after the build.
After the first build in this configuration, the latest version
under
This way, new labels are attached to the head version (get
pinned of course) of | |