jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2.x Release Plugin
  • MRELEASE-719

No error when release:prepare with an already existing scm tag

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 2.2.1
  • Fix Version/s: 2.4
  • Component/s: prepare
  • Labels:
    None

Description

When releasing the mojo-parent (codehaus), I had to do the release twice but I forgot to remove the scm tag.

The release:prepare did not complain about it (should have).

Issue Links

is duplicated by

Improvement - An improvement or enhancement to an existing feature or task. MRELEASE-722 release plugin must verify if tag exists and must failed in such case.

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Robert Scholte added a comment - 29/Jan/12 8:30 AM

This might be a svn server-side issue. I can confirm that this can go wrong at codehaus, but I've installed a complete system on a laptop and here the release stops if the tag already exists.

Show
Robert Scholte added a comment - 29/Jan/12 8:30 AM This might be a svn server-side issue. I can confirm that this can go wrong at codehaus, but I've installed a complete system on a laptop and here the release stops if the tag already exists.
Hide
Permalink
Tom Vaughan added a comment - 08/Feb/12 4:59 PM

I'm confused about this ticket...does this bug report situation "A" or "B"?

A) there already exists a tag directory out on the remote svn_root of the name that I enter during the "mvn release:prepare" phase

or

B) there already exists an <scm><developerConnection>svn:///blah/blah/tags</developerConnection></scm> xml element in the pom of an artifact I'm about to release

Show
Tom Vaughan added a comment - 08/Feb/12 4:59 PM I'm confused about this ticket...does this bug report situation "A" or "B"? A) there already exists a tag directory out on the remote svn_root of the name that I enter during the "mvn release:prepare" phase or B) there already exists an <scm><developerConnection>svn:///blah/blah/tags</developerConnection></scm> xml element in the pom of an artifact I'm about to release
Hide
Permalink
Dan Tran added a comment - 09/Mar/12 11:07 PM

I ran into the same issue where I forgot the remove the bad svn tag, release:perpare went thru without error, and therefor release:perform picks up the wrong source

Show
Dan Tran added a comment - 09/Mar/12 11:07 PM I ran into the same issue where I forgot the remove the bad svn tag, release:perpare went thru without error, and therefor release:perform picks up the wrong source
Hide
Permalink
Emmanuel Lécharny added a comment - 05/May/12 4:46 AM

The mvn release:rollback should at least remove the tag...

Show
Emmanuel Lécharny added a comment - 05/May/12 4:46 AM The mvn release:rollback should at least remove the tag...
Hide
Permalink
Mark Struberg added a comment - 05/May/12 5:02 AM

right, we have 2 options

a.) having release:prepare fail early if the tag already exists. And have release:rollback only WARN that the tag must get removed manually

b.) have release:rollback remove the tag as well if it exists and we have proper privileges. I'm always a bit reluctant fraidy-cat when doing a remove operation on an SCM ...

I think having release:prepare fail early if the tag already exists is a good idea in any case.

Show
Mark Struberg added a comment - 05/May/12 5:02 AM right, we have 2 options a.) having release:prepare fail early if the tag already exists. And have release:rollback only WARN that the tag must get removed manually b.) have release:rollback remove the tag as well if it exists and we have proper privileges. I'm always a bit reluctant fraidy-cat when doing a remove operation on an SCM ... I think having release:prepare fail early if the tag already exists is a good idea in any case.
Hide
Permalink
Emmanuel Lécharny added a comment - 05/May/12 5:18 AM

Well, you don't 'remove' anything from a scm. You just create a new version... So removing the tag when doing a release:rollback is a no brainer, IMO.

And, yes, a warning when doing a release:prepare if the tag already exists would definitively help !

Show
Emmanuel Lécharny added a comment - 05/May/12 5:18 AM Well, you don't 'remove' anything from a scm. You just create a new version... So removing the tag when doing a release:rollback is a no brainer, IMO. And, yes, a warning when doing a release:prepare if the tag already exists would definitively help !
Hide
Permalink
Mark Struberg added a comment - 05/May/12 5:29 AM

> Well, you don't 'remove' anything from a scm. You just create a new version..

That depends on the SCM. This statement is only true for SVN. CVS ditched it sometimes even in it's attic (the first delete is fine, the 2nd destroyed the attic). And in GIT if you push a removal of a tag, then it's gone... Of course it's still in the downstream repos if they pulled it, but it's a history rewrite which is often not allowed. It is perfectly fine though if pushChanges=false for Hg and GIT! Needs a bit more brainwork I fear.

Show
Mark Struberg added a comment - 05/May/12 5:29 AM > Well, you don't 'remove' anything from a scm. You just create a new version.. That depends on the SCM. This statement is only true for SVN. CVS ditched it sometimes even in it's attic (the first delete is fine, the 2nd destroyed the attic). And in GIT if you push a removal of a tag, then it's gone... Of course it's still in the downstream repos if they pulled it, but it's a history rewrite which is often not allowed. It is perfectly fine though if pushChanges=false for Hg and GIT! Needs a bit more brainwork I fear.
Hide
Permalink
Emmanuel Lécharny added a comment - 07/May/12 3:07 AM

You're right. I had SVN in mind. It's a bit sad that some SCM consider that removing a tag == deleting it totally, but you'll have to deal with such a stupid decision. Hopefully, you have a clue about the used SCM, so the plugin can behave accordingly.
Note that it will requires way more work

Show
Emmanuel Lécharny added a comment - 07/May/12 3:07 AM You're right. I had SVN in mind. It's a bit sad that some SCM consider that removing a tag == deleting it totally, but you'll have to deal with such a stupid decision. Hopefully, you have a clue about the used SCM, so the plugin can behave accordingly. Note that it will requires way more work
Hide
Permalink
Mark Struberg added a comment - 07/May/12 3:59 AM

I'm not worried about the additional work needed. But I'm really worried that we pack all this information in our maven-release-manager. There is already way too much hardcoded stuff which is specific for single SCMs in there. I'd rather move all this information into the scm-api instead.

Show
Mark Struberg added a comment - 07/May/12 3:59 AM I'm not worried about the additional work needed. But I'm really worried that we pack all this information in our maven-release-manager. There is already way too much hardcoded stuff which is specific for single SCMs in there. I'd rather move all this information into the scm-api instead.

People

  • Assignee:
    Olivier Lamy
    Reporter:
    Tony Chemit
Vote (4)
Watch (5)

Dates

  • Created:
    24/Nov/11 5:00 AM
    Updated:
    07/May/12 3:59 AM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.