Class HgUtils


  • public final class HgUtils
    extends java.lang.Object
    Common code for executing hg commands.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT  
      private static java.util.List<java.lang.Integer> DEFAULT_EXIT_CODES
      Default exit codes for entries not in exitCodeMap
      private static java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> EXIT_CODE_MAP
      Map between command and its valid exit codes
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private HgUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) static org.codehaus.plexus.util.cli.Commandline buildCmd​(java.io.File workingDir, java.lang.String[] cmdAndArgs)  
      static boolean differentOutgoingBranchFound​(ScmLogger logger, java.io.File workingDir, java.lang.String workingbranchName)
      Check if there are outgoing changes on a different branch.
      static ScmResult execute​(java.io.File workingDir, java.lang.String[] cmdAndArgs)  
      static ScmResult execute​(HgConsumer consumer, ScmLogger logger, java.io.File workingDir, java.lang.String[] cmdAndArgs)  
      (package private) static int executeCmd​(HgConsumer consumer, org.codehaus.plexus.util.cli.Commandline cmd)  
      static java.lang.String[] expandCommandLine​(java.lang.String[] cmdAndArgs, ScmFileSet additionalFiles)  
      private static java.lang.String getBranchName​(java.lang.String branch)  
      static java.lang.String getCurrentBranchName​(ScmLogger logger, java.io.File workingDir)  
      static int getCurrentRevisionNumber​(ScmLogger logger, java.io.File workingDir)  
      static java.lang.String maskPassword​(org.codehaus.plexus.util.cli.Commandline cl)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • EXIT_CODE_MAP

        private static final java.util.Map<java.lang.String,​java.util.List<java.lang.Integer>> EXIT_CODE_MAP
        Map between command and its valid exit codes
      • DEFAULT_EXIT_CODES

        private static final java.util.List<java.lang.Integer> DEFAULT_EXIT_CODES
        Default exit codes for entries not in exitCodeMap
    • Constructor Detail

      • HgUtils

        private HgUtils()
    • Method Detail

      • buildCmd

        static org.codehaus.plexus.util.cli.Commandline buildCmd​(java.io.File workingDir,
                                                                 java.lang.String[] cmdAndArgs)
                                                          throws ScmException
        Throws:
        ScmException
      • expandCommandLine

        public static java.lang.String[] expandCommandLine​(java.lang.String[] cmdAndArgs,
                                                           ScmFileSet additionalFiles)
      • getCurrentBranchName

        public static java.lang.String getCurrentBranchName​(ScmLogger logger,
                                                            java.io.File workingDir)
                                                     throws ScmException
        Throws:
        ScmException
      • differentOutgoingBranchFound

        public static boolean differentOutgoingBranchFound​(ScmLogger logger,
                                                           java.io.File workingDir,
                                                           java.lang.String workingbranchName)
                                                    throws ScmException
        Check if there are outgoing changes on a different branch. If so, Mercurial default behaviour is to block the push and warn using a 'push creates new remote branch !' message. We also warn, and return true if a different outgoing branch was found

        Method users should not stop the push on a negative return, instead, they should hg push -r(branch being released)

        Parameters:
        logger - the logger31
        workingDir - the working dir
        workingbranchName - the working branch name
        Returns:
        true if a different outgoing branch was found
        Throws:
        ScmException - on outgoing command error
      • getBranchName

        private static java.lang.String getBranchName​(java.lang.String branch)
      • maskPassword

        public static java.lang.String maskPassword​(org.codehaus.plexus.util.cli.Commandline cl)