Issue Details (XML | Word | Printable)

Key: SCM-491
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Mark Struberg
Reporter: Fabrizio Giudici
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Maven SCM

release:perform with Mercurial performs a full hg clone from the remote repository

Created: 18/Aug/09 06:01 AM   Updated: 23/Nov/09 05:03 PM   Resolved: 23/Nov/09 05:03 PM
Return to search
Component/s: maven-scm-provider-mercurial (hg)
Affects Version/s: None
Fix Version/s: 1.3

Time Tracking:
Not Specified

Complexity: Intermediate


 Description  « Hide

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.



Mark Struberg added a comment - 18/Aug/09 06:15 AM

Fabrizio, there is a similar issue with other distributed SCMs. You may take a look at e.g. SCM-444 where 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.



Mark Struberg made changes - 23/Nov/09 05:01 PM
Field Original Value New Value
Assignee Mark Struberg [ struberg ]
Mark Struberg added a comment - 23/Nov/09 05:03 PM

this should be fixed by MRELEASE-501

Please use the localCheckout option to use a file:// clone from the local repo instead of going over the network:

mvn release:perform -DlocalCheckout=true


Mark Struberg made changes - 23/Nov/09 05:03 PM
Resolution Fixed [ 1 ]
Fix Version/s 1.3 [ 14523 ]
Status Open [ 1 ] Closed [ 6 ]