Extracts the latest edition of the source code from a PVCS repository.
PVCS is a version control system
developed by
Merant.
Before using this tag, the user running ant must have access to the commands
of PVCS (get and pcli) and must have access to the repository. Note that the way to specify
the repository is platform dependent so use property to specify location of repository.
This version has been tested agains PVCS version 6.5 and 6.6 under Windows and Solaris.
19-04-2001 The task now has a more robust
parser. It allows for platform independant file paths
and supports file names with
(). Thanks to Erik Husby for
bringing the bug to my attention.
27-04-2001 UNC paths are now handled properly.
Fix provided by Don Jeffery. He also added an
UpdateOnly flag
that, when true, conditions the PVCS get using the -U option to only
update those files that have a modification time (in PVCS) that is newer
than the existing workfile.
25-10-2002 Added a revision attribute that currently is a
synonym for label, but in a future release the behavior of the label
attribute will change to use the -v option of GET. See bug #13847 for
discussion.
addPvcsproject
public void addPvcsproject(PvcsProject p)
Specify a project within the PVCS repository to extract files from.
p
- the pvcs project to use.
getConfig
public String getConfig()
returns the path of the configuration file to be used
- the path of the config file
getFilenameFormat
public String getFilenameFormat()
The filenameFormat attribute defines a MessageFormat string used
to parse the output of the pcli command. It defaults to
{0}-arc({1})
. Repositories where the archive
extension is not -arc should set this.
- the filename format attribute.
getForce
public String getForce()
Get value of force
getIgnoreReturnCode
public boolean getIgnoreReturnCode()
Get value of ignorereturncode
getLabel
public String getLabel()
Get value of label
getLineStart
public String getLineStart()
The lineStart attribute is used to parse the output of the pcli
command. It defaults to "P:
. The parser already
knows about / and \\, this property is useful in cases where the
repository is accessed on a Windows platform via a drive letter
mapping.
getPromotiongroup
public String getPromotiongroup()
Get value of promotiongroup
getPvcsbin
public String getPvcsbin()
Get name of the PVCS bin directory
getPvcsproject
public String getPvcsproject()
Get name of the project in the PVCS repository
getPvcsprojects
public Vector getPvcsprojects()
Get name of the project in the PVCS repository
getRepository
public String getRepository()
Get network name of the PVCS repository
getRevision
public String getRevision()
Get value of revision
getUpdateOnly
public boolean getUpdateOnly()
get the updateOnly attribute.
- the updateOnly attribute.
getUserId
public String getUserId()
Get the userid.
getWorkspace
public String getWorkspace()
Get name of the workspace to store the retrieved files
runCmd
protected int runCmd(Commandline cmd,
ExecuteStreamHandler out)
Run the command.
cmd
- the command line to use.out
- the output stream handler to use.
- the exit code of the command.
setConfig
public void setConfig(File f)
Sets a configuration file other than the default to be used.
These files have a .cfg extension and are often found in archive or pvcsprop folders.
f
- config file - can be given absolute or relative to ant basedir
setFilenameFormat
public void setFilenameFormat(String f)
The format of the folder names; optional.
This must be in a format suitable for
java.text.MessageFormat
.
Index 1 of the format will be used as the file name.
Defaults to {0}-arc({1})
setForce
public void setForce(String f)
Specifies the value of the force argument; optional.
If set to yes all files that exists and are
writable are overwritten. Default no causes the files
that are writable to be ignored. This stops the PVCS command
get to stop asking questions!
setIgnoreReturnCode
public void setIgnoreReturnCode(boolean b)
If set to true the return value from executing the pvcs
commands are ignored; optional, default false.
setLabel
public void setLabel(String l)
Only files marked with this label are extracted; optional.
setLineStart
public void setLineStart(String l)
What a valid return value from PVCS looks like
when it describes a file. Defaults to "P:
.
If you are not using an UNC name for your repository and the
drive letter P
is incorrect for your setup, you may
need to change this value, UNC names will always be
accepted.
setPromotiongroup
public void setPromotiongroup(String w)
Specifies the name of the promotiongroup argument
setPvcsbin
public void setPvcsbin(String bin)
Specifies the location of the PVCS bin directory; optional if on the PATH.
On some systems the PVCS executables pcli
and get are not found in the PATH. In such cases this attribute
should be set to the bin directory of the PVCS installation containing
the executables mentioned before. If this attribute isn't specified the
tag expects the executables to be found using the PATH environment variable.
- use a File setter and resolve paths.
setPvcsproject
public void setPvcsproject(String prj)
The project within the PVCS repository to extract files from;
optional, default "/"
setRepository
public void setRepository(String repo)
The network name of the PVCS repository; required.
setRevision
public void setRevision(String r)
Only files with this revision are extract; optional.
setUpdateOnly
public void setUpdateOnly(boolean l)
If set to true files are fetched only if
newer than existing local files; optional, default false.
setUserId
public void setUserId(String u)
User ID
setWorkspace
public void setWorkspace(String ws)
Workspace to use; optional.
By specifying a workspace, the files are extracted to that location.
A PVCS workspace is a name for a location of the workfiles and
isn't as such the location itself.
You define the location for a workspace using the PVCS GUI clients.
If this isn't specified the default workspace for the current user is used.