Class HgUtils

java.lang.Object
org.apache.maven.scm.provider.hg.HgUtils

public final class HgUtils extends Object
Common code for executing hg commands.
  • Field Details

    • DEFAULT

      public static final String DEFAULT
      See Also:
    • EXIT_CODE_MAP

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

      private static final List<Integer> DEFAULT_EXIT_CODES
      Default exit codes for entries not in exitCodeMap
  • Constructor Details

    • HgUtils

      private HgUtils()
  • Method Details

    • execute

      public static ScmResult execute(HgConsumer consumer, ScmLogger logger, File workingDir, String[] cmdAndArgs) throws ScmException
      Throws:
      ScmException
    • buildCmd

      static org.codehaus.plexus.util.cli.Commandline buildCmd(File workingDir, String[] cmdAndArgs) throws ScmException
      Throws:
      ScmException
    • executeCmd

      static int executeCmd(HgConsumer consumer, org.codehaus.plexus.util.cli.Commandline cmd) throws ScmException
      Throws:
      ScmException
    • execute

      public static ScmResult execute(File workingDir, String[] cmdAndArgs) throws ScmException
      Throws:
      ScmException
    • expandCommandLine

      public static String[] expandCommandLine(String[] cmdAndArgs, ScmFileSet additionalFiles)
    • getCurrentRevisionNumber

      public static int getCurrentRevisionNumber(ScmLogger logger, File workingDir) throws ScmException
      Throws:
      ScmException
    • getCurrentBranchName

      public static String getCurrentBranchName(ScmLogger logger, File workingDir) throws ScmException
      Throws:
      ScmException
    • differentOutgoingBranchFound

      public static boolean differentOutgoingBranchFound(ScmLogger logger, File workingDir, 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 String getBranchName(String branch)
    • maskPassword

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