The capturing of mercurial revision is invalid
----------------------------------------------

                 Key: SCM-560
                 URL: http://jira.codehaus.org/browse/SCM-560
             Project: Maven SCM
          Issue Type: Bug
          Components: maven-scm-provider-mercurial (hg)
         Environment: Windows + JDK6 + Ant
            Reporter: William Bernardet


The HgRevNoConsumer is parsing the output of hg id command using the full line 
and assuming the revision is a number matching [0-9] numbers
https://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java

Mercurial can return an id with the revision branch and tag label e.g:
58bda09e68fa tip
or if the repo contains uncommited changes:
58bda09e68fa+ tip

The extraction of the revision should be updated by splitting the line and take 
the first part only and then remove the ending '+' if needed. Then the 
resulting string should be converted using radix 16 (int is not able to store 
the result), code should be something like that:
long revision = Long.parse(line.split("\\s+")[0].trim("+"), 16);



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to