Runs a p4d instance in the directory indicated by repo_server (use a
directory path rather than a host name). If repo_server contains a
port, that port will be used, otherwise a random port will be used.
Dies unless the directory exists and contains files matching db.* (to help prevent unexpected initializing of empty directories).
VCP will kill this p4d when its done.
|--follow-branch-into||Causes VCP to notice branch into messages in the output of p4s filelog command and. If the file thats the target of the p4 integrate (branch) command is revision number #1, adds the target to the list of exported files. This usually needs a --rev-root option to set the rev root to be high enough in the directory tree to include all branches (its an error to export a file that is not under the rev root).|
Sets the revisions root of the source tree being extracted; without this
option, VCP assumes that you are extracting the directory tree ending in the
last path segment in the filespec without a wildcard. This allows you to
specify a shorter root directory, which can be useful especially with
--follow-branch-into, since branches may often lead off from the current
directory to peer directories or even in to entirely different trees.
The default rev-root is the file spec up to the first path segment (directory name) containing a wildcard, so
would have a rev root of /a/b.
In direct repository-to-repository transfers, this option should not be necessary, the destination filespec overrides it.
VCP uses the directory name of each file as the files branch_id. VCP ignores p4 branch specs for several reasons:
TODO: build a filter or VCP::Source::p4 option that allows p4 branch specifications to determine branch_ids.
1. Branch specs are not version controlled, which means that you cant tell what a branch spec looked like when a branch was created. 2. Multiple branch specs can point to the same directory or even the same file. 3. branch specs are not necessary in managing a p4 repository.
repo_client The p4 client name. This is an accessor for a data member in each class. The data member should be part of VCP::Utils::p4, but the fields pragma does not support multiple inheritance, so the accessor is here but all derived classes supporting this accessor must provide for a key named P4_REPO_CLIENT.
Treats each branched file as a separate branch with a unique branch_id, although files that are branched together should end up being submitted together in the destination repository due to change number aggregation.
Ignores branch specs for now. There may be an option to enable automatic use of branch specs because most are probably well behaved. However, in the event of a branch spec being altered after the original branch, this could lead to odd results. Not sure how useful branch specs are vs. how likely a problem this is to be. We may also want to support external branch specs to allow deleted branch specs to be used.
VCP::Source::p4 only emits add, branch, delete and edit actions; this is all most destinations can handle today. Anything other than one of these four is converted to edit. Specifically, this means that when an integration into a file is found, this is treated as an edit. Transferring integration records that dont create branches is not implemented.
p4 servers older than 2002.2 do not allow getting the submit date and time, only the submit *date*, so all changes will seem to happen at midnight. Upgrate to the most recent p4d to solve this.
Barrie Slaymaker <email@example.com>
Copyright (c) 2000, 2001, 2002 Perforce Software, Inc. All rights reserved.
|perl v5.20.3||VCP::SOURCE::P4 (3)||2004-11-04|