Class Diff2Delegator

    • Constructor Detail

      • Diff2Delegator

        public Diff2Delegator​(IOptionsServer server)
        Instantiate a new Diff2Delegator, providing the server object that will be used to execute Perforce Helix attribute commands.
        Parameters:
        server - a concrete implementation of a Perforce Helix Server
    • Method Detail

      • getFileDiffs

        public java.util.List<IFileDiff> getFileDiffs​(IFileSpec file1,
                                                      IFileSpec file2,
                                                      java.lang.String branchSpecName,
                                                      GetFileDiffsOptions opts)
                                               throws P4JavaException
        Description copied from interface: IDiff2Delegator
        Run diff on the Perforce server of two files in the depot.

        With a branch view, fromFile and toFile are optional; fromFile limits the scope of the source file set, and toFile limits the scope of the target. If only one file argument is given, it is assumed to be toFile.

        This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics.

        Specified by:
        getFileDiffs in interface IDiff2Delegator
        Parameters:
        file1 - (optional, with a branch view) source file IFileSpec
        file2 - (optional, with a branch view) target file IFileSpec
        branchSpecName - optional branch spec name
        opts - GetFileDiffsOptions object describing optional parameters; if null, no options are set.
        Returns:
        non-null but possibly empty array of file diffs
        Throws:
        P4JavaException - if an error occurs processing this method and its parameters.
      • getFileDiffs

        public java.util.List<IFileDiff> getFileDiffs​(IFileSpec file1,
                                                      IFileSpec file2,
                                                      java.lang.String branchSpecName,
                                                      DiffType diffType,
                                                      boolean quiet,
                                                      boolean includeNonTextDiffs,
                                                      boolean gnuDiffs)
                                               throws ConnectionException,
                                                      RequestException,
                                                      AccessException
        Description copied from interface: IDiff2Delegator
        Run diff on the Perforce server of two files in the depot.

        This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics. In particular, the various potentially-valid combinations of branch spec and file specs can be complicated and won't be repeated here.

        Specified by:
        getFileDiffs in interface IDiff2Delegator
        Parameters:
        file1 - optional first file IFileSpec
        file2 - optional second file IFileSpec
        branchSpecName - optional branch spec name
        diffType - diff type
        quiet - if true, suppresses the display of the header lines of files whose content and types are identical and suppresses the actual diff for all files.
        includeNonTextDiffs - if true, forces 'p4 diff2' to diff even files with non-text (binary) types
        gnuDiffs - see "-u" option in the main diff2 documentation.
        Returns:
        non-null but possibly empty array of file diffs
        Throws:
        ConnectionException - if the Perforce server is unreachable or is not connected.
        RequestException - if the Perforce server encounters an error during its processing of the request
        AccessException - if the Perforce server denies access to the caller
      • getFileDiffsStream

        public java.io.InputStream getFileDiffsStream​(IFileSpec file1,
                                                      IFileSpec file2,
                                                      java.lang.String branchSpecName,
                                                      GetFileDiffsOptions opts)
                                               throws P4JavaException
        Description copied from interface: IDiff2Delegator
        Run diff on the Perforce server of two files in the depot.

        With a branch view, fromFile and toFile are optional; fromFile limits the scope of the source file set, and toFile limits the scope of the target. If only one file argument is given, it is assumed to be toFile.

        This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics.

        As with other streams-based IServer methods, callers should ensure that the stream returned here is always explicitly closed after use; if not closed, the stream's associated temporary files managed by P4Java (if they exist) may not be properly deleted.

        Specified by:
        getFileDiffsStream in interface IDiff2Delegator
        Parameters:
        file1 - (optional, with a branch view) source file IFileSpec
        file2 - (optional, with a branch view) target file IFileSpec
        branchSpecName - optional branch spec name
        opts - GetFileDiffsOptions object describing optional parameters; if null, no options are set.
        Returns:
        non-null but possibly empty InputStream of diffs and headers as returned from the server.
        Throws:
        P4JavaException - if an error occurs processing this method and its parameters.
      • getServerFileDiffs

        public java.io.InputStream getServerFileDiffs​(IFileSpec file1,
                                                      IFileSpec file2,
                                                      java.lang.String branchSpecName,
                                                      DiffType diffType,
                                                      boolean quiet,
                                                      boolean includeNonTextDiffs,
                                                      boolean gnuDiffs)
                                               throws ConnectionException,
                                                      RequestException,
                                                      AccessException
        Description copied from interface: IDiff2Delegator
        Run diff on the Perforce server of two files in the depot.

        This method corresponds closely to the standard diff2 command, and that command's documentation should be consulted for the overall and detailed semantics. In particular, the various potentially-valid combinations of branch spec and file specs can be complicated and won't be repeated here.

        As with other streams-based IServer methods, callers should ensure that the stream returned here is always explicitly closed after use; if not closed, the stream's associated temporary files managed by P4Java (if they exist) may not be properly deleted.

        Specified by:
        getServerFileDiffs in interface IDiff2Delegator
        Parameters:
        file1 - optional first file IFileSpec
        file2 - optional second file IFileSpec
        branchSpecName - optional branch spec name
        diffType - diff type
        quiet - if true, suppresses the display of the header lines of files whose content and types are identical and suppresses the actual diff for all files.
        includeNonTextDiffs - if true, forces 'p4 diff2' to diff even files with non-text (binary) types
        gnuDiffs - see "-u" option in the main diff2 documentation.
        Returns:
        non-null but possibly empty InputStream of diffs and headers as returned from the server.
        Throws:
        ConnectionException - if the Perforce server is unreachable or is not connected.
        RequestException - if the Perforce server encounters an error during its processing of the request
        AccessException - if the Perforce server denies access to the caller