Class IntegrateFilesOptions

java.lang.Object
com.perforce.p4java.option.Options
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:
  • Field Details

    • 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:
    • 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.
    • showBaseRevision

      protected boolean showBaseRevision
      -Ob Show the base revision for the merge (if any).
    • showScheduledResolve

      protected boolean showScheduledResolve
      -Or Show the resolve(s) that are being scheduled.
    • integ2

      protected boolean integ2
      -2 enable old version 2 integration engine
  • Constructor Details

    • 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.

      Parameters:
      options - options
      See Also:
    • 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.
      Parameters:
      changelistId - changelistId
      bidirectionalInteg - bidirectionalInteg
      integrateAroundDeletedRevs - integrateAroundDeletedRevs
      rebranchSourceAfterDelete - rebranchSourceAfterDelete
      deleteTargetAfterDelete - deleteTargetAfterDelete
      integrateAllAfterReAdd - integrateAllAfterReAdd
      forceIntegration - forceIntegration
      useHaveRev - useHaveRev
      doBaselessMerge - doBaselessMerge
      displayBaseDetails - displayBaseDetails
      showActionsOnly - showActionsOnly
      reverseMapping - reverseMapping
      propagateType - propagateType
      dontCopyToClient - dontCopyToClient
      maxFiles - maxFiles
    • 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.
      Parameters:
      changelistId - changelistId
      bidirectionalInteg - bidirectionalInteg
      integrateAroundDeletedRevs - integrateAroundDeletedRevs
      rebranchSourceAfterDelete - rebranchSourceAfterDelete
      deleteTargetAfterDelete - deleteTargetAfterDelete
      integrateAllAfterReAdd - integrateAllAfterReAdd
      branchResolves - branchResolves
      deleteResolves - deleteResolves
      skipIntegratedRevs - skipIntegratedRevs
      forceIntegration - forceIntegration
      useHaveRev - useHaveRev
      doBaselessMerge - doBaselessMerge
      displayBaseDetails - displayBaseDetails
      showActionsOnly - showActionsOnly
      reverseMapping - reverseMapping
      propagateType - propagateType
      dontCopyToClient - dontCopyToClient
      maxFiles - maxFiles
    • 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.
      Parameters:
      changelistId - changelistId
      integrateAroundDeletedRevs - integrateAroundDeletedRevs
      rebranchSourceAfterDelete - rebranchSourceAfterDelete
      deleteTargetAfterDelete - deleteTargetAfterDelete
      integrateAllAfterReAdd - integrateAllAfterReAdd
      branchResolves - branchResolves
      deleteResolves - deleteResolves
      skipIntegratedRevs - skipIntegratedRevs
      forceIntegration - forceIntegration
      useHaveRev - useHaveRev
      doBaselessMerge - doBaselessMerge
      displayBaseDetails - displayBaseDetails
      showActionsOnly - showActionsOnly
      propagateType - propagateType
      dontCopyToClient - dontCopyToClient
      maxFiles - maxFiles
      branch - branch
      reverseMapping - reverseMapping
      bidirectionalInteg - bidirectionalInteg
    • 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.
      Parameters:
      changelistId - changelistId
      integrateAroundDeletedRevs - integrateAroundDeletedRevs
      rebranchSourceAfterDelete - rebranchSourceAfterDelete
      deleteTargetAfterDelete - deleteTargetAfterDelete
      integrateAllAfterReAdd - integrateAllAfterReAdd
      branchResolves - branchResolves
      deleteResolves - deleteResolves
      skipIntegratedRevs - skipIntegratedRevs
      forceIntegration - forceIntegration
      useHaveRev - useHaveRev
      doBaselessMerge - doBaselessMerge
      displayBaseDetails - displayBaseDetails
      showActionsOnly - showActionsOnly
      propagateType - propagateType
      dontCopyToClient - dontCopyToClient
      maxFiles - maxFiles
      stream - stream
      parentStream - parentStream
      reverseMapping - reverseMapping
  • Method Details

    • 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:
    • 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)
    • isShowBaseRevision

      public boolean isShowBaseRevision()
    • setShowBaseRevision

      public IntegrateFilesOptions setShowBaseRevision(boolean showBaseRevision)
    • isShowScheduledResolve

      public boolean isShowScheduledResolve()
    • setShowScheduledResolve

      public IntegrateFilesOptions setShowScheduledResolve(boolean showScheduledResolve)
    • isInteg2

      public boolean isInteg2()
    • setInteg2

      public IntegrateFilesOptions setInteg2(boolean enable)