# <pvcsget>

Gets files from a PVCS repository.

This task uses the `get` PCLI command to get the versioned files from PVCS.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
baseprojectpath | string | Gets or sets the base project path. | False
location | string | Gets or sets an alternative location for workfiles. | False
lock | bool | Gets or sets a value indicating whether revisions involved in the get operation should be locked. | False
makewritable | bool | Gets or sets whether the workfiles should be made writable. | False
maxdatetime | datetime | Gets or sets the maximum date and time of workfiles to retrieve. | False
overrideworkfilelocation | bool | Gets or sets a value indicating whether the workfile location for files should be overridden. | False
promotiongroup | string | Gets or sets the promotion group to get. | False
revision | double | Gets or sets the revision to get against. | False
touch | bool | Gets or sets a value indicating whether workfiles should be touched after the get. | False
updateonly | bool | Gets or sets a value indicating whether workfiles should only be gotten if they are newer than the current workfile. | False
versionlabel | string | Gets or sets the version label to get against. | False
projectdatabase | string | Gets or sets the project database to utilize during the operation. | True
failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False
if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False
includesubprojects | bool | Gets or sets a value indicating whether the operation should include subprojects. | False
password | string | Gets or sets the password to use when connecting to the project database. | False
projectpath | string | Gets or sets the project path to utilize during the operation. | False
pvcsbin | string | Gets or sets the location of the PVCS binary command-line tools. | False
timeout | int | The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. | False
unless | bool | Opposite of `if`. If false then the task will be executed; otherwise, skipped. The default is false. | False
userid | string | Gets or sets the user ID to use when connecting to the project database. | False
verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False
workspace | string | Gets or sets the workspace to use when connecting to the project database. | False

### Framework-configurable parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
useruntimeengine | bool | Specifies whether the external program should be executed using a runtime engine, if configured. The default is false. | False

### Nested Elements:

#### <entities>

Gets or sets the entities involved in the operation.

#### </entities>

#### <arg>

The command-line arguments for the external program.

Represents a command-line argument.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
dir | directory | The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. | False
file | file | The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. | False
if | bool | Indicates if the argument should be passed to the external program. If true then the argument will be passed; otherwise, skipped. The default is true. | False
line | string | List of command-line arguments; will be passed to the executable as is. | False
path | <path> | The value for a PATH-like command-line argument; you can use `:` or `;` as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. | False
unless | bool | Indicates if the argument should not be passed to the external program. If false then the argument will be passed; otherwise, skipped. The default is false. | False
value | string | A single command-line argument; can contain space characters. | False

### Nested Elements:

#### <path>

Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used.

#### </path>

### Examples

- A single command-line argument containing a space character.

      <arg value="-l -a" />

- Two separate command-line arguments.

      <arg line="-l -a" />

- A single command-line argument with the value `\dir;\dir2;\dir3` on DOS-based systems and `/dir:/dir2:/dir3` on Unix-like systems.

      <arg path="/dir;/dir2:\dir3" />

#### </arg>

### Examples

- Gets the versioned file called `App.ico` from the project database specified by the `project-database` property.

      <pvcsget projectdatabase="${project-database}">
          <entities>
              <entity name="/App.ico"/>
          </entities>
      </pvcsget>

- Gets the versioned file called `App.ico` from the project database specified by the `project-database` property. The file is also locked.

      <pvcsget projectdatabase="${project-database}" lock="true">
          <entities>
              <entity name="/App.ico"/>
          </entities>
      </pvcsget>

- Gets all revisions assigned the `SYSTEST` promotion group from the project database specified by the `project-database` property. The workfiles are touched after the get operation.

      <pvcsget projectdatabase="${project-database}" includesubprojects="true" promotiongroup="SYSTEST" touch="true">
          <entities>
              <entity name="/"/>
          </entities>
      </pvcsget>

### Requirements

Assembly: NAnt.Contrib.Tasks (0.85.2479.0)