Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.3
-
Component/s: maven-scm-provider-mercurial (hg)
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
Hello.
When executing a release:perform, Maven forces hg to perform a clone of the remote repository in the target/checkout directory:
[INFO] EXECUTING: /bin/sh -c cd /home/hudson/Builds/jrawio~TEST/target && hg clone -r 1.5.4 https://@kenai.com/hg/jrawio~src /home/hudson/Builds/jrawio~TEST/target/checkout
Hg repos can be huge (even gigabytes) and thus operation causes a waste of bandwidth (and of time). It seems that the most obvious thing to do is to clone from the local copy in the main directory (e.g. hg clone -r 1.5.4 ..) and if you need to do a laster push you can explicitly specify the URL of the remote repository to the hg push command.
Fabrizio, there is a similar issue with other distributed SCMs. You may take a look at e.g.
SCM-444where we discussed this for git.For solving this cleanly, we need to change the maven-scm-api, maven-release-manager, maven-release-plugin, all maven-scm-providers for DSCMs (git, bazaar, hg)
I think we should try to address this in the next major maven-scm update. But since this is imho a pretty heavy task I don't expect this to happen quickly.