Subversion Tag is incorrect when releasing from a Branch
--------------------------------------------------------
Key: MRELEASE-576
URL: http://jira.codehaus.org/browse/MRELEASE-576
Project: Maven 2.x Release Plugin
Issue Type: Bug
Components: prepare
Affects Versions: 2.0
Environment: Linux
Reporter: Ed Hillmann
Priority: Minor
Attachments: myBranch.zip, mySecondBranch.zip
I've been able to recreate this error using a dummy application. This is what
I've done.
1) Created a HelloWorld project, which has a single sub module HelloWorldJar.
HelloWorlJar uses HelloWorld as it's parent. I first created this on a trunk
in a svn repository and committed everything.
2) I used "release:branch" to create a branch.
3) Checked out the branch, and on the working copy of the branch I ran "mvn
release:prepare". It worked fine (the tag was constructed correctly). "mvn
release:perform" also worked swimmingly. I've attached these maven projects in
the myBranch.zip file.
4) Back on the trunk, I created another branch, named mySecondBranch
5) After checking out mySecondBranch, I introduced a new module named parent.
HelloWorldJar was updated to use parent as it's parent (yes, I'm not very
creative in the naming department). Parent was also listed as a module in
HelloWorld (in addition to HelloWorldJar). Everything's committed. The SCM
value is correct (it's the right branch directory). I've attached the maven
projects in the mySecondBranch.zip file.
6) When I run "mvn release:prepare", it all builds, but the tag is constructed
incorrectly. Instead of /tags/helloWorld-2.0 pointing to a revision of
/branches/mySecondBranch, /tags/helloWorld-2.0 points to /branches.
7) {OK, this is wierd}. When I run "mvn release:perform", it checks out
against the tag helloWorld-2.0. Which checks out the entire branches
directory. Once it's done that (I'm using a test repository), it builds the
correct branch (it's building using the correct branch). I don't know how it's
working, but it is.
So, I guess it's working OK. I'm not sure how it knows to pick out the correct
branch (as it's checking out the full contents of the branch directory). So
it's building it eventually.
However, for large projects with multiple branches, this will be very slow to
check out the entire contents of the branches directory, not to mention use
much more disk space than is needed. If the tag is constructed correctly, it
avoids the whole thing.
--
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