Maven SCM

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

Details

  • Complexity:
    Intermediate
  • Number of attachments :
    0

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.

Activity

Hide
Mark Struberg added a comment -

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.

Show
Mark Struberg added a comment - 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.
Hide
Mark Struberg added a comment -

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

Show
Mark Struberg added a comment - 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

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: