com.perforce.p4java.option.client
Class IntegrateFilesOptions

java.lang.Object
  extended by com.perforce.p4java.option.Options
      extended by com.perforce.p4java.option.client.IntegrateFilesOptions

public class IntegrateFilesOptions
extends Options

Options for the IClient.integrateFiles method.

Note that this implementation extends the normal default options processing with its own method(s) due to the complexity of the various -D and -R flag options; note also the somewhat odd relationship with the previous IntegrationOptions class.

Note also that the current implementation makes no attempt to validate the sanity or otherwise of the various options and their combination.

See Also:
IClient.integrateFiles(com.perforce.p4java.core.file.IFileSpec, com.perforce.p4java.core.file.IFileSpec, java.lang.String, com.perforce.p4java.option.client.IntegrateFilesOptions)

Field Summary
protected  boolean bidirectionalInteg
          Cause the branch view to work bidirectionally, where the scope of the command is limited to integrations whose 'from' files match fromFile[revRange].
protected  String branch
          If non-null, use a user-defined branch view.
protected  boolean branchResolves
          Schedules 'branch resolves' instead of branching new target files automatically.
protected  int changelistId
          If positive, the integrated files are opened in the numbered pending changelist instead of the default changelist.
protected  boolean deleteResolves
          Schedules 'delete resolves' instead of deleting target files automatically.
protected  boolean deleteTargetAfterDelete
          If the source file has been deleted and the target file has changed, will delete the target file.
protected  boolean displayBaseDetails
          Display the base file name and revision which will be used in subsequent resolves if a resolve is needed.
protected  boolean doBaselessMerge
          Enables integration between files that have no integration history.
protected  boolean dontCopyToClient
          Don't copy newly branched files to the client.
protected  boolean forceIntegration
          Forces integrate to act without regard for previous integration history.
protected  boolean integrateAllAfterReAdd
          If the source file has been deleted and re-added, will attempt to integrate all outstanding revisions of the file, including those revisions prior to the delete.
protected  boolean integrateAroundDeletedRevs
          If true, enable integrations around deleted revisions; equivalent to -d (i.e.
protected  int maxFiles
          If positive, integrate only the first maxFiles files.
static String OPTIONS_SPECS
          Options: -c[changelist], -d, -D[flag], -R[flag], -f, -h, -i, -o, -n, -t, -q, -v, -m[max], -b[branch], -S[stream], -P[parentStream], -r, -s
protected  String parentStream
          If non-null, specify a parent stream other than the stream's actual parent.
protected  boolean propagateType
          Propagate the source file's filetype to the target file.
protected  boolean quiet
          If true, suppresses normal output messages.
protected  boolean rebranchSourceAfterDelete
          If the target file has been deleted and the source file has changed, will re-branch the source file on top of the target file.
protected  boolean reverseMapping
          Reverse the mappings in the branch view, with the target files and source files exchanging place.
protected  boolean showActionsOnly
          Display what integrations would be necessary but don't actually do them.
protected  boolean skipIntegratedRevs
          Skips cherry-picked revisions already integrated.
protected  String stream
          If not null, makes 'p4 integrate' use a stream's branch view.
protected  boolean useHaveRev
          Causes the target files to be left at the revision currently on the client (the '#have' revision).
 
Fields inherited from class com.perforce.p4java.option.Options
immutable, optionList, OPTPFX
 
Constructor Summary
IntegrateFilesOptions()
          Default constructor.
IntegrateFilesOptions(int changelistId, boolean bidirectionalInteg, boolean integrateAroundDeletedRevs, boolean rebranchSourceAfterDelete, boolean deleteTargetAfterDelete, boolean integrateAllAfterReAdd, boolean branchResolves, boolean deleteResolves, boolean skipIntegratedRevs, boolean forceIntegration, boolean useHaveRev, boolean doBaselessMerge, boolean displayBaseDetails, boolean showActionsOnly, boolean reverseMapping, boolean propagateType, boolean dontCopyToClient, int maxFiles)
          Explicit-value constructor.
IntegrateFilesOptions(int changelistId, boolean integrateAroundDeletedRevs, boolean rebranchSourceAfterDelete, boolean deleteTargetAfterDelete, boolean integrateAllAfterReAdd, boolean branchResolves, boolean deleteResolves, boolean skipIntegratedRevs, boolean forceIntegration, boolean useHaveRev, boolean doBaselessMerge, boolean displayBaseDetails, boolean showActionsOnly, boolean propagateType, boolean dontCopyToClient, int maxFiles, String branch, boolean reverseMapping, boolean bidirectionalInteg)
          Explicit-value constructor for use with a branch.
IntegrateFilesOptions(int changelistId, boolean integrateAroundDeletedRevs, boolean rebranchSourceAfterDelete, boolean deleteTargetAfterDelete, boolean integrateAllAfterReAdd, boolean branchResolves, boolean deleteResolves, boolean skipIntegratedRevs, boolean forceIntegration, boolean useHaveRev, boolean doBaselessMerge, boolean displayBaseDetails, boolean showActionsOnly, boolean propagateType, boolean dontCopyToClient, int maxFiles, String stream, String parentStream, boolean reverseMapping)
          Explicit-value constructor for use with a stream.
IntegrateFilesOptions(int changelistId, boolean bidirectionalInteg, boolean integrateAroundDeletedRevs, boolean rebranchSourceAfterDelete, boolean deleteTargetAfterDelete, boolean integrateAllAfterReAdd, boolean forceIntegration, boolean useHaveRev, boolean doBaselessMerge, boolean displayBaseDetails, boolean showActionsOnly, boolean reverseMapping, boolean propagateType, boolean dontCopyToClient, int maxFiles)
          Explicit-value constructor.
IntegrateFilesOptions(String... options)
          Strings-based constructor; see 'p4 help [command]' for possible options.
 
Method Summary
 String getBranch()
           
 int getChangelistId()
           
 int getMaxFiles()
           
 String getParentStream()
           
 String getStream()
           
 boolean isBidirectionalInteg()
           
 boolean isBranchResolves()
           
 boolean isDeleteResolves()
           
 boolean isDeleteTargetAfterDelete()
           
 boolean isDisplayBaseDetails()
           
 boolean isDoBaselessMerge()
           
 boolean isDontCopyToClient()
           
 boolean isForceIntegration()
           
 boolean isIntegrateAllAfterReAdd()
           
 boolean isIntegrateAroundDeletedRevs()
           
 boolean isPropagateType()
           
 boolean isQuiet()
           
 boolean isRebranchSourceAfterDelete()
           
 boolean isReverseMapping()
           
 boolean isShowActionsOnly()
           
 boolean isSkipIntegratedRevs()
           
 boolean isUseHaveRev()
           
 List<String> processOptions(IServer server)
          Turn this (specific) options object into a list of strings to be sent to the Perforce server as options for a specific command.
 IntegrateFilesOptions setBidirectionalInteg(boolean bidirectionalInteg)
           
 IntegrateFilesOptions setBranch(String branch)
           
 IntegrateFilesOptions setBranchResolves(boolean branchResolves)
           
 IntegrateFilesOptions setChangelistId(int changelistId)
           
 IntegrateFilesOptions setDeleteResolves(boolean deleteResolves)
           
 IntegrateFilesOptions setDeleteTargetAfterDelete(boolean deleteTargetAfterDelete)
           
 IntegrateFilesOptions setDisplayBaseDetails(boolean displayBaseDetails)
           
 IntegrateFilesOptions setDoBaselessMerge(boolean doBaselessMerge)
           
 IntegrateFilesOptions setDontCopyToClient(boolean dontCopyToClient)
           
 IntegrateFilesOptions setForceIntegration(boolean forceIntegration)
           
 IntegrateFilesOptions setIntegrateAllAfterReAdd(boolean integrateAllAfterReAdd)
           
 IntegrateFilesOptions setIntegrateAroundDeletedRevs(boolean integrateAroundDeletedRevs)
           
 IntegrateFilesOptions setMaxFiles(int maxFiles)
           
 IntegrateFilesOptions setParentStream(String parentStream)
           
 IntegrateFilesOptions setPropagateType(boolean propagateType)
           
 IntegrateFilesOptions setQuiet(boolean quiet)
           
 IntegrateFilesOptions setRebranchSourceAfterDelete(boolean rebranchSourceAfterDelete)
           
 IntegrateFilesOptions setReverseMapping(boolean reverseMapping)
           
 IntegrateFilesOptions setShowActionsOnly(boolean showActionsOnly)
           
 IntegrateFilesOptions setSkipIntegratedRevs(boolean skipIntegratedRevs)
           
 IntegrateFilesOptions setStream(String stream)
           
 IntegrateFilesOptions setUseHaveRev(boolean useHaveRev)
           
 
Methods inherited from class com.perforce.p4java.option.Options
applyRule, applyRule, applyRule, applyRule, getOptions, isImmutable, processFields, setImmutable, setOptions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPTIONS_SPECS

public static final String OPTIONS_SPECS
Options: -c[changelist], -d, -D[flag], -R[flag], -f, -h, -i, -o, -n, -t, -q, -v, -m[max], -b[branch], -S[stream], -P[parentStream], -r, -s

See Also:
Constant Field Values

changelistId

protected int changelistId
If positive, the integrated files are opened in the numbered pending changelist instead of the default changelist.


bidirectionalInteg

protected boolean bidirectionalInteg
Cause the branch view to work bidirectionally, where the scope of the command is limited to integrations whose 'from' files match fromFile[revRange]. Corresponds to the -s flag, with the fromFile arg being specified in the main method fromFile parameter.


integrateAroundDeletedRevs

protected boolean integrateAroundDeletedRevs
If true, enable integrations around deleted revisions; equivalent to -d (i.e. -Ds + -Di + -Dt)


rebranchSourceAfterDelete

protected boolean rebranchSourceAfterDelete
If the target file has been deleted and the source file has changed, will re-branch the source file on top of the target file. A.k.a "-Dt".


deleteTargetAfterDelete

protected boolean deleteTargetAfterDelete
If the source file has been deleted and the target file has changed, will delete the target file. A.k.a "-Ds".


integrateAllAfterReAdd

protected boolean integrateAllAfterReAdd
If the source file has been deleted and re-added, will attempt to integrate all outstanding revisions of the file, including those revisions prior to the delete. Normally 'p4 integrate' only considers revisions since the last add. A.k.a. "-Di".


branchResolves

protected boolean branchResolves
Schedules 'branch resolves' instead of branching new target files automatically. A.k.a "-Rb".


deleteResolves

protected boolean deleteResolves
Schedules 'delete resolves' instead of deleting target files automatically. A.k.a "-Rd".


skipIntegratedRevs

protected boolean skipIntegratedRevs
Skips cherry-picked revisions already integrated. This can improve merge results, but can also cause multiple resolves per file to be scheduled. A.k.a "-Rs".


forceIntegration

protected boolean forceIntegration
Forces integrate to act without regard for previous integration history. Corresponds to the -f flag.


useHaveRev

protected boolean useHaveRev
Causes the target files to be left at the revision currently on the client (the '#have' revision). Corresponds to the -h flag.


doBaselessMerge

protected boolean doBaselessMerge
Enables integration between files that have no integration history. Corresponds to the -i flag.


displayBaseDetails

protected boolean displayBaseDetails
Display the base file name and revision which will be used in subsequent resolves if a resolve is needed. Corresponds to the -o flag.


showActionsOnly

protected boolean showActionsOnly
Display what integrations would be necessary but don't actually do them. Corresponds to the -n flag.


reverseMapping

protected boolean reverseMapping
Reverse the mappings in the branch view, with the target files and source files exchanging place. Corresponds to the -r flag.


propagateType

protected boolean propagateType
Propagate the source file's filetype to the target file. Corresponds to the -t flag.


quiet

protected boolean quiet
If true, suppresses normal output messages. Messages regarding errors or exceptional conditions are not suppressed. Corresponds to -q flag.


dontCopyToClient

protected boolean dontCopyToClient
Don't copy newly branched files to the client. Corresponds to the -v flag.


maxFiles

protected int maxFiles
If positive, integrate only the first maxFiles files. Corresponds to -m flag.


branch

protected String branch
If non-null, use a user-defined branch view. The source is the left side of the branch view and the target is the right side. With -r, the direction is reversed. Corresponds to -b flag.


stream

protected String stream
If not null, makes 'p4 integrate' use a stream's branch view. The source is the stream itself, and the target is the stream's parent. With -r, the direction is reversed. -P can be used to specify a parent stream other than the stream's actual parent. Note that to submit integrated stream files, the current client must be dedicated to the target stream. Corresponds to -S flag.


parentStream

protected String parentStream
If non-null, specify a parent stream other than the stream's actual parent. Corresponds to -P flag.

Constructor Detail

IntegrateFilesOptions

public IntegrateFilesOptions()
Default constructor.


IntegrateFilesOptions

public IntegrateFilesOptions(String... options)
Strings-based constructor; see 'p4 help [command]' for possible options.

WARNING: you should not pass more than one option or argument in each string parameter. Each option or argument should be passed-in as its own separate string parameter, without any spaces between the option and the option value (if any).

NOTE: setting options this way always bypasses the internal options values, and getter methods against the individual values corresponding to the strings passed in to this constructor will not normally reflect the string's setting. Do not use this constructor unless you know what you're doing and / or you do not also use the field getters and setters.

See Also:
Options.Options(java.lang.String...)

IntegrateFilesOptions

public IntegrateFilesOptions(int changelistId,
                             boolean bidirectionalInteg,
                             boolean integrateAroundDeletedRevs,
                             boolean rebranchSourceAfterDelete,
                             boolean deleteTargetAfterDelete,
                             boolean integrateAllAfterReAdd,
                             boolean forceIntegration,
                             boolean useHaveRev,
                             boolean doBaselessMerge,
                             boolean displayBaseDetails,
                             boolean showActionsOnly,
                             boolean reverseMapping,
                             boolean propagateType,
                             boolean dontCopyToClient,
                             int maxFiles)
Explicit-value constructor.


IntegrateFilesOptions

public IntegrateFilesOptions(int changelistId,
                             boolean bidirectionalInteg,
                             boolean integrateAroundDeletedRevs,
                             boolean rebranchSourceAfterDelete,
                             boolean deleteTargetAfterDelete,
                             boolean integrateAllAfterReAdd,
                             boolean branchResolves,
                             boolean deleteResolves,
                             boolean skipIntegratedRevs,
                             boolean forceIntegration,
                             boolean useHaveRev,
                             boolean doBaselessMerge,
                             boolean displayBaseDetails,
                             boolean showActionsOnly,
                             boolean reverseMapping,
                             boolean propagateType,
                             boolean dontCopyToClient,
                             int maxFiles)
Explicit-value constructor.


IntegrateFilesOptions

public IntegrateFilesOptions(int changelistId,
                             boolean integrateAroundDeletedRevs,
                             boolean rebranchSourceAfterDelete,
                             boolean deleteTargetAfterDelete,
                             boolean integrateAllAfterReAdd,
                             boolean branchResolves,
                             boolean deleteResolves,
                             boolean skipIntegratedRevs,
                             boolean forceIntegration,
                             boolean useHaveRev,
                             boolean doBaselessMerge,
                             boolean displayBaseDetails,
                             boolean showActionsOnly,
                             boolean propagateType,
                             boolean dontCopyToClient,
                             int maxFiles,
                             String branch,
                             boolean reverseMapping,
                             boolean bidirectionalInteg)
Explicit-value constructor for use with a branch.


IntegrateFilesOptions

public IntegrateFilesOptions(int changelistId,
                             boolean integrateAroundDeletedRevs,
                             boolean rebranchSourceAfterDelete,
                             boolean deleteTargetAfterDelete,
                             boolean integrateAllAfterReAdd,
                             boolean branchResolves,
                             boolean deleteResolves,
                             boolean skipIntegratedRevs,
                             boolean forceIntegration,
                             boolean useHaveRev,
                             boolean doBaselessMerge,
                             boolean displayBaseDetails,
                             boolean showActionsOnly,
                             boolean propagateType,
                             boolean dontCopyToClient,
                             int maxFiles,
                             String stream,
                             String parentStream,
                             boolean reverseMapping)
Explicit-value constructor for use with a stream.

Method Detail

processOptions

public List<String> processOptions(IServer server)
                            throws OptionsException
Description copied from class: Options
Turn this (specific) options object into a list of strings to be sent to the Perforce server as options for a specific command. As a side effect, set the option list associated with this Option to the result.

The method is used by the server object to generate the string-based arguments expected by the Perforce server corresponding to the state of this method-specific options object. Will return an empty list if there are no "interesting" options set or available. May simply return the superclass options string list if is non-null, but that behaviour is neither guaranteed nor required.

Note that this method is not intended to be called directly by users but by the underlying P4Java plumbing; odd results may occur if this method is called in other contexts.

Specified by:
processOptions in class Options
Parameters:
server - possibly-null IServer representing the Perforce server the options are to be used against. If this parameter is null, it is acceptable to throw an OptionsException, but it is also possible to ignore it and do the best you can with what you've got...
Returns:
non-null (but possibly empty) string list representing the normalized Perforce server arguments corresponding to the state of this specific options object.
Throws:
OptionsException - if an error occurs in options processing that is not some species of ConnectionException, RequestException, AccessException, etc.
See Also:
Options.processOptions(com.perforce.p4java.server.IServer)

getChangelistId

public int getChangelistId()

setChangelistId

public IntegrateFilesOptions setChangelistId(int changelistId)

isIntegrateAroundDeletedRevs

public boolean isIntegrateAroundDeletedRevs()

setIntegrateAroundDeletedRevs

public IntegrateFilesOptions setIntegrateAroundDeletedRevs(boolean integrateAroundDeletedRevs)

isRebranchSourceAfterDelete

public boolean isRebranchSourceAfterDelete()

setRebranchSourceAfterDelete

public IntegrateFilesOptions setRebranchSourceAfterDelete(boolean rebranchSourceAfterDelete)

isDeleteTargetAfterDelete

public boolean isDeleteTargetAfterDelete()

setDeleteTargetAfterDelete

public IntegrateFilesOptions setDeleteTargetAfterDelete(boolean deleteTargetAfterDelete)

isIntegrateAllAfterReAdd

public boolean isIntegrateAllAfterReAdd()

setIntegrateAllAfterReAdd

public IntegrateFilesOptions setIntegrateAllAfterReAdd(boolean integrateAllAfterReAdd)

isBranchResolves

public boolean isBranchResolves()

setBranchResolves

public IntegrateFilesOptions setBranchResolves(boolean branchResolves)

isDeleteResolves

public boolean isDeleteResolves()

setDeleteResolves

public IntegrateFilesOptions setDeleteResolves(boolean deleteResolves)

isSkipIntegratedRevs

public boolean isSkipIntegratedRevs()

setSkipIntegratedRevs

public IntegrateFilesOptions setSkipIntegratedRevs(boolean skipIntegratedRevs)

isForceIntegration

public boolean isForceIntegration()

setForceIntegration

public IntegrateFilesOptions setForceIntegration(boolean forceIntegration)

isUseHaveRev

public boolean isUseHaveRev()

setUseHaveRev

public IntegrateFilesOptions setUseHaveRev(boolean useHaveRev)

isDoBaselessMerge

public boolean isDoBaselessMerge()

setDoBaselessMerge

public IntegrateFilesOptions setDoBaselessMerge(boolean doBaselessMerge)

isDisplayBaseDetails

public boolean isDisplayBaseDetails()

setDisplayBaseDetails

public IntegrateFilesOptions setDisplayBaseDetails(boolean displayBaseDetails)

isShowActionsOnly

public boolean isShowActionsOnly()

setShowActionsOnly

public IntegrateFilesOptions setShowActionsOnly(boolean showActionsOnly)

isReverseMapping

public boolean isReverseMapping()

setReverseMapping

public IntegrateFilesOptions setReverseMapping(boolean reverseMapping)

isPropagateType

public boolean isPropagateType()

setPropagateType

public IntegrateFilesOptions setPropagateType(boolean propagateType)

isDontCopyToClient

public boolean isDontCopyToClient()

isQuiet

public boolean isQuiet()

setQuiet

public IntegrateFilesOptions setQuiet(boolean quiet)

setDontCopyToClient

public IntegrateFilesOptions setDontCopyToClient(boolean dontCopyToClient)

isBidirectionalInteg

public boolean isBidirectionalInteg()

setBidirectionalInteg

public IntegrateFilesOptions setBidirectionalInteg(boolean bidirectionalInteg)

getMaxFiles

public int getMaxFiles()

setMaxFiles

public IntegrateFilesOptions setMaxFiles(int maxFiles)

getBranch

public String getBranch()

setBranch

public IntegrateFilesOptions setBranch(String branch)

getStream

public String getStream()

setStream

public IntegrateFilesOptions setStream(String stream)

getParentStream

public String getParentStream()

setParentStream

public IntegrateFilesOptions setParentStream(String parentStream)


Copyright © 2015 Perforce Software. All Rights Reserved.