# <stcheckout>

Task to check out files from StarTeam repositories.

You can check out by `label` and control the type of lock with `locktype`.

You can delete files that are not in source control by setting `deleteuncontrolled`.

This task was ported from the Ant task http://jakarta.apache.org/ant/manual/OptionalTasks/starteam.html#stcheckout

You need to have the StarTeam SDK installed for this task to function correctly.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
createworkingdirs | bool | Default : true - Create directories that are in the Starteam repository even if they are empty. | False
deleteuncontrolled | bool | Not fully tested CAREFUL Default : false - Should all local files NOT in StarTeam be deleted? | False
locktype | string | What type of lock to apply to files checked out. unchanged - default: do not make any changes to the lock state of items. exclusive - Exclusively lock items. No other users can update the object while it is exclusively locked. nonexclusive - Put a non-exclusive lock on the item. unlocked - Remove locks from all items checked out. This accompanied by force would effectively override a lock and replace local contents with the current version. | False
rootstarteamfolder | string | Root StarTeam folder to begin operations on. Defaults to the root of the view. | True
excludes | string | Accepts comma de-limited list of expressions to exclude from tree operations. If nothing is specified. NO filespecs are excluded. | False
failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False
forced | bool | Default : false - force check in/out actions regardless of the status that StarTeam is maintaining for the file. | False
if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False
includes | string | Accepts comma de-limited list of expressions to include in tree operations. If nothing is set ALL filespecs are included. | False
label | string | Label used for checkout. If no label is set latest state of repository is checked out. | False
password | string | The password used for login. | False
projectname | string | The name of the StarTeam project to be acted on | False
recursive | bool | Default : true - should tasks recurse through tree. | False
servername | string | Name of StarTeamServer. | False
serverport | string | Port number of the StarTeam connection. | False
unless | bool | Opposite of `if`. If false then the task will be executed; otherwise, skipped. The default is false. | False
url | string | One stop to set all parameters needed to connect to a StarTeam server. | False
username | string | The StarTeam user name used for login. | False
verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False
viewname | string | The name of the StarTeam view to be acted on. | False

### Examples

- Recursively checks out all files in the project with an exclusive lock.

      <!--
        constructs a 'url' containing connection information to pass to the task
        alternatively you can set each attribute manually
      -->
      <property name="ST.url" value="user:pass@serverhost:49201/projectname/viewname" />
      <stcheckout locktype="exclusive" rootstarteamfolder="/" recursive="true" url="${ST.url}" />

### Requirements

Assembly: NAnt.Contrib.Tasks (0.85.2479.0)