maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve van den Buys (JIRA)" <j...@codehaus.org>
Subject [jira] (MRELEASE-595) release:prepare using old SVN structure when creating tag
Date Fri, 04 Jan 2013 23:19:13 GMT

    [ https://jira.codehaus.org/browse/MRELEASE-595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=316785#comment-316785
] 

Steve van den Buys commented on MRELEASE-595:
---------------------------------------------

Robert,

zipping the project would be a bit too large, but here are the relevant bits:

1) project structure is like:
{panel} 
trunk/project-parent
     /project-entity-services
     /project-presentation
     /project-presentation-ear
     ...
tags/
branches/
.
.
.
{panel}

2) In project-parent we have the master POM which contains the following relevant sections:
{code:xml} 
<scm>
	<developerConnection>scm:svn:https://our.server.url/svn/voi/trunk</developerConnection>
</scm>
.
.
.
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-release-plugin</artifactId>
	<version>2.4</version>
	<configuration>
	   	<tagNameFormat>@{project.version}</tagNameFormat>
	       	<autoVersionSubmodules>true</autoVersionSubmodules>
	</configuration>
</plugin>
{code} 

3) I then simply move in the project-parent folder and start "mvn release:prepare"

Having done this, when I go to see in SVN afterwards, I see that under the tags-folder there
is a folder (currently that would be 1.0.0.2) and under that folder is trunk, tags, branches
and all the others. In the parent POM of the tagged project-parent, I see that the scm section
has been adjusted to:

{code:xml} 
<scm>
	<developerConnection>scm:svn:https://our.server.url/svn/voi/tags/1.0.0.2/trunk</developerConnection>
</scm>
{code} 

The thing is, I would just expect to see "https://our.server.url/svn/voi/tags/1.0.0.2", likewise
I would only expect to see the modules that are under the trunk to be tagged and not the trunk
itself and all its sibling folders.

When I look at the logging, this is where it seems to go wrong:

[INFO] --- maven-release-plugin:2.4:prepare (default-cli) @ inburgering-parent ---
[INFO] Resuming release from phase 'scm-tag'
[INFO] Tagging release with the label 1.0.0.2...
[INFO] Executing: cmd.exe /X /C "svn --non-interactive copy --file C:\Users\buyss\AppData\Local\Temp\maven-scm-488314082.commit
https://our.server.url/svn/voi/ https://our.server.url/svn/voi/tags/1.0.0.2"

As you can see, the plugin decides to tag from the root-folder (voi) and not from voi/trunk
only (which is what I would expect given that I specified trunk as the base-folder in my developerConnection.

Am I missing something here?
                
> release:prepare using old SVN structure when creating tag
> ---------------------------------------------------------
>
>                 Key: MRELEASE-595
>                 URL: https://jira.codehaus.org/browse/MRELEASE-595
>             Project: Maven 2.x Release Plugin
>          Issue Type: Bug
>          Components: prepare
>    Affects Versions: 2.0
>         Environment: Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
> Java version: 1.6.0_18
> OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
>            Reporter: Cornel Masson
>
> I made a change in my project's SVN folder structure, and now release:prepare is creating
the tag using the old structure. Example:
> In my organization, each project has sub-folders for trunk, tags and branches. However,
my test projectA started out (incorrectly) in SVN *without* trunk/tags/branches subfolders:
> {code}
> svnhost/code/projectA:
>     /gui
>     /model
>     -pom.xml
> {code}
> Later, I realised my mistake, created a trunk subfolder under projectA, and moved the
project contents into trunk. I also added tags and branches folders:
> {code}
> svnhost/code/projectA:
>     /trunk
>         /gui
>         /model
>         -pom.xml
>     /tags
>     /branches
> {code}
> I re-checked out a clean projectA and did release:prepare with tagBase = {{svnhost/code/projectA/tags}}
and tag name 'MyTag'. It created MyTag, but the contents was *all* of trunk/tags/branches(!):
> {code}
> svnhost/code/projectA:
>     /trunk
>         /gui
>         /model
>         -pom.xml
>     /tags
>         /MyTag
>             /trunk
>                 /gui
>                 /model
>                 -pom.xml
>             /tags
>             /branches
>     /branches
> {code}
> instead of just using the contents of trunk at that point.
> It looks like it's picking up the *old* SVN structure from the projectA folder.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message