You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Mark Struberg (JIRA)" <ji...@codehaus.org> on 2009/07/04 11:21:22 UTC

[jira] Created: (MRELEASE-457) Non sparse-checkout SCM support

Non sparse-checkout SCM support
-------------------------------

                 Key: MRELEASE-457
                 URL: http://jira.codehaus.org/browse/MRELEASE-457
             Project: Maven 2.x Release Plugin
          Issue Type: New Feature
          Components: perform, scm
    Affects Versions: 2.0-beta-10
            Reporter: Mark Struberg


Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).

So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!

For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232442#action_232442 ] 

Mark Struberg commented on MRELEASE-457:
----------------------------------------

Not sure Benjamin. Is it possible that the DefaultModelInheritanceAssembler asks the respective maven-scm-provider if the URL needs any adoption at all? Or is this part too early in the lifecycle to get access to the maven-scm-provider?

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Closed: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Struberg closed MRELEASE-457.
----------------------------------

    Resolution: Fixed

Grant, I've looked at my patch again and it seems that the solution of passing the child modules location via the releaseDescriptors checkoutPath property is the least intrusive way. Using the projectPath would change lot of functionality and would break a few other things as far as I've seen.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232441#action_232441 ] 

Benjamin Bentmann commented on MRELEASE-457:
--------------------------------------------

Just to be clear, the URL inheritance is broken by design of POM 4.0.0 (MNG-2006). This is just another change that can only be safely made for a new model version.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Lee Thompson (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=270210#comment-270210 ] 

Lee Thompson commented on MRELEASE-457:
---------------------------------------

Trying to catch up on this as I'm hitting it to.  Don't think the patch will work if there is no pom in the top directory of the source repo.  In line with what Benjamin stated, I think its better to inject rather than discover.

Injection of something like "pomSubDirectory" as a parameter into the release:perform mojo would be very unobtrusize.  The release descriptor already has "ScmRelativePathProjectDirectory".  Not sure if that is the right variable, but if it was, it would be a very simple non-intrusive fix of PerformReleaseMojo.java  ...

{code:title=Bar.java|borderStyle=solid}
    /**
     * If the POM for the project you are releasing is not in the top directory of your checked
     * out source repository, then you will need to specicify this parameter.  It almost never
     * occurs with Subversion since you can specify a checkout of any directory in the 
     * repository. This is not the case for SCM systems like Git and Mercurial as you check 
     * out the whole repository and frequently, the project you want to release is not in 
     * the top directory.  If your pom is in the top directory of your source, this parameter
     * is not needed.
     *
     * @parameter expression="${pomSubDirectory}"
     * @since 2.2
     */
    private String pomSubDirectory;






            if (pomSubDirectory != null )
            {
                releaseDescriptor.setScmRelativePathProjectDirectory( pomSubDirectory );
            }
{code}

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Struberg updated MRELEASE-457:
-----------------------------------

    Attachment: MRELEASE-457.2.patch

new version. MRELEASE-457.2.patch now closes the XmlReader + a few codestyle fixes

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=243352#action_243352 ] 

Olivier Lamy commented on MRELEASE-457:
---------------------------------------

patch tested with this project (https://github.com/olamy/scm-git-test) to release only my-app or my-app-webapp and it works.
Someone else wants to review ?

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Work started: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on MRELEASE-457 started by Mark Struberg.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Issue Comment Edited: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Grant Gardner (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232553#action_232553 ] 

Grant Gardner edited comment on MRELEASE-457 at 8/20/10 3:51 AM:
-----------------------------------------------------------------

Can this be implemented with the projectPath concept that the release plugin already understands?

ie change the git provider to parse the additional path information into the scm repository's projectPath attribute. Then as long as you follow the convention in placing modules in a subdirectory named for the module it should just work.

Of course it would be event better if the childPathAdjustment code was changed to use the relative path between module and parent rather than artifactId. I think even SVN modules that don't follow the convention are already broken in this regard.

      was (Author: lwoggardner):
    Can this be implemented with the projectPath concept that the release plugin already understands?

ie change the git provider to parse the additional path information into the scm repositories projectPath attribute. Then as long as you follow the convention in placing modules in a subdirectory named for the module it should just work.

Of course it would be event better if the childPathAdjustment code was changed to use the relative path between module and parent rather than artifactId. I think even SVN modules that don't follow the convention are already broken in this regard.
  
> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Updated: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Struberg updated MRELEASE-457:
-----------------------------------

    Attachment: MRELEASE-457.patch

This patch enables the release of child modules even with SCMs which doesn't support sparse checkout. The trick is to parse the pom to be released and search for a similar pom in the target/checkout directory. Then use this poms directory for running the release-perform goals.

There is currently a small issue left with child modules releasing because we get the childModules relative path added to the base SCM-URL. This is needed for SVN but breaks a lot other SCMs. The workaround is to add a <scm> section to each submodule until we fixed this bug.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=243380#action_243380 ] 

Mark Struberg commented on MRELEASE-457:
----------------------------------------

Hi Olivier!

Please also check Grants comment with the projectPath. Hi is right that I (mis-?) used an existing parameter for passing the information about the found child pom. Otoh I think changing the project path is also not the correct way. To be completely clean, we probably need to introduce a new parameter. But not sure if this is really needed - that's why I didn't commit it myself but asked for reviews ;)

LieGrue,
strub

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Olivier Lamy
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Jesse Glick (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232470#action_232470 ] 

Jesse Glick commented on MRELEASE-457:
--------------------------------------

Note: Mercurial does not (yet) support sparse checkouts, but you can use {{hg archive --include <MODULE> target/checkout}}, akin to using e.g. {{svn export}}.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Issue Comment Edited: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Grant Gardner (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232553#action_232553 ] 

Grant Gardner edited comment on MRELEASE-457 at 8/20/10 3:51 AM:
-----------------------------------------------------------------

Can this be implemented with the projectPath concept that the release plugin already understands?

ie change the git provider to parse the additional path information into the scm repository's projectPath attribute. Then as long as you follow the convention in placing modules in a subdirectory named for the module it should just work.

Of course it would be even better if the childPathAdjustment code was changed to use the relative path between module and parent rather than artifactId. I think even SVN modules that don't follow the convention are already broken in this regard.

      was (Author: lwoggardner):
    Can this be implemented with the projectPath concept that the release plugin already understands?

ie change the git provider to parse the additional path information into the scm repository's projectPath attribute. Then as long as you follow the convention in placing modules in a subdirectory named for the module it should just work.

Of course it would be event better if the childPathAdjustment code was changed to use the relative path between module and parent rather than artifactId. I think even SVN modules that don't follow the convention are already broken in this regard.
  
> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Updated: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Brett Porter (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brett Porter updated MRELEASE-457:
----------------------------------

    Fix Version/s:     (was: 2.1)
                   2.2

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.2
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Benjamin Bentmann (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232444#action_232444 ] 

Benjamin Bentmann commented on MRELEASE-457:
--------------------------------------------

bq. Or is this part too early in the lifecycle to get access to the maven-scm-provider?
Yes. Also, how would you find this maven-scm-provider, e.g. there is no artifact id/version mentioned in the URL, add another black magic discovery? In general, I have a strong objection against the idea that construction of the effective POM requires pluggable/external components as this makes the POM depend on a specific runtime environment (e.g. Maven class loader hierarchy) and hinders its consumption in tools other than Maven. The POM should be fully declarative and be controlled by fixed/well-known rules.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Updated: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Lamy updated MRELEASE-457:
----------------------------------

    Fix Version/s: 2.1
         Assignee: Olivier Lamy

temporary move set fix version to 2.1.


> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Olivier Lamy
>             Fix For: 2.1
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232437#action_232437 ] 

Mark Struberg commented on MRELEASE-457:
----------------------------------------

the broken <scm> URL assembling is done in the following code parts:

* DefaultModelInheritanceAssembler#assembleModelInheritance calls
  childScm.setDeveloperConnection( appendPath( parentScm.getDeveloperConnection(), child.getArtifactId(), childPathAdjustment, appendPaths ) );

* MavenProject#getModulePathAdjustment which actually creates the pathAdjustment

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Mark Struberg (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232471#action_232471 ] 

Mark Struberg commented on MRELEASE-457:
----------------------------------------

txs Jesse, but then you'd most probably need to pimp the maven-scm-api and hack something into the hg provider. Because usually the scm-provider only gets the checkout URL. But in this case you would additionally need the path to the child module. This information is currently not available. 

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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

        

[jira] Commented: (MRELEASE-457) Non sparse-checkout SCM support

Posted by "Grant Gardner (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MRELEASE-457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232553#action_232553 ] 

Grant Gardner commented on MRELEASE-457:
----------------------------------------

Can this be implemented with the projectPath concept that the release plugin already understands?

ie change the git provider to parse the additional path information into the scm repositories projectPath attribute. Then as long as you follow the convention in placing modules in a subdirectory named for the module it should just work.

Of course it would be event better if the childPathAdjustment code was changed to use the relative path between module and parent rather than artifactId. I think even SVN modules that don't follow the convention are already broken in this regard.

> Non sparse-checkout SCM support
> -------------------------------
>
>                 Key: MRELEASE-457
>                 URL: http://jira.codehaus.org/browse/MRELEASE-457
>             Project: Maven 2.x Release Plugin
>          Issue Type: New Feature
>          Components: perform, scm
>    Affects Versions: 2.0
>            Reporter: Mark Struberg
>            Assignee: Mark Struberg
>             Fix For: 2.1
>
>         Attachments: MRELEASE-457.2.patch, MRELEASE-457.patch
>
>
> Some SCMs like GIT, Mercurial, Bazaar, BitKeeper, Darcs, and Monotone doesn't support sparse checkouts (checkout of a single subdirectory).
> So while doing a mvn release:perform in a sub-module, we will always get the _whole_ project checked out into target/checkout!
> For doing the clean build from this checkout, we have to implement a functionality to find the right submodule first.

-- 
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