org.apache.tools.ant.taskdefs.optional.perforce

Class P4Sync

public class P4Sync extends P4Base

Synchronize client space to a Perforce depot view. The API allows additional functionality of the "p4 sync" command (such as "p4 sync -f //...#have" or other exotic invocations).

Example Usage:
FunctionCommand
Sync to head using P4USER, P4PORT and P4CLIENT settings specified <P4Sync
P4view="//projects/foo/main/source/..."
P4User="fbloggs"
P4Port="km01:1666"
P4Client="fbloggsclient" />
Sync to head using P4USER, P4PORT and P4CLIENT settings defined in environment <P4Sync P4view="//projects/foo/main/source/..." />
Force a re-sync to head, refreshing all files <P4Sync force="yes" P4view="//projects/foo/main/source/..." />
Sync to a label<P4Sync label="myPerforceLabel" />

UNKNOWN: Add decent label error handling for non-exsitant labels category="scm"

Method Summary
voidexecute()
do the work
voidsetForce(String force)
force a refresh of files, if this attribute is set; false by default.
voidsetLabel(String label)
Label to sync client to; optional.

Method Detail

execute

public void execute()
do the work

Throws: BuildException if an error occurs during the execution of the Perforce command and failOnError is set to true

setForce

public void setForce(String force)
force a refresh of files, if this attribute is set; false by default.

Parameters: force sync all files, whether they are supposed to be already uptodate or not.

Throws: BuildException if a label is set and force is null

setLabel

public void setLabel(String label)
Label to sync client to; optional.

Parameters: label name of a label against which one want to sync

Throws: BuildException if label is null or empty string