In <[email protected]> Brett Porter wrote:

> > http://jira.codehaus.org/browse/SCM-581
>  It isn't clear from the issue whether this is in the SCM provider (which is
>  independent of Maven releases), or in Maven (in which case this is filed in
>  the wrong place).

Right. A few weeks ago I made a weak attempt to look into the source code of
the scm module, but I found nothing obvious there that did something wrong with
the url. Which component is it that actually parses the pom.xml and extracts
the string from the scm/connection element?

>  What is the difference in behaviour between Maven 2.2.1 and Maven 3.0? Is
>  there a relevant MNG issue for that?

In maven 2.2.1 you can use a scm url for mercurial that contains a absolute
file path reference. In maven 3.x the absolute path is incorrectly converted to
a relative path before it is handed over to hg. Mercurial then looks for the
project in the wrong place and the release build checkout fails.

Mercurial has a special non-standard url annotation of two consecutive slashes
after the hostname, to separate relative paths from absolute paths:

For example this scm url works in 2.2.1 but fails in 3.x:

   <scm>
    <connection>scm:hg:ssh://localhost//opt/foo</connection>
  </scm>

Above the double slashes after 'localhost' tells hg that the file path is
absolute and in the file system located at '/opt/foo'. If the double slash is
removed hg will instead search for the directory 'opt/foo' relative to the home
directory of the user on the server, perhaps '/home/luser/opt/foo'.

-- 
Fredrik Jonson


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to