Maven 2.x Release Plugin

release plugin doesn't tag correctly with svn+ssh when remote and local username don't match

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 2.0-beta-5
  • Component/s: scm
  • Labels:
    None
  • Number of attachments :
    0

Description

svn is very stubborn about this. Basically you have to have the value in <developerConnection> match the url used to check it out.

Things that will fail:

  • if you pass in a different username to --username, it is not passed on to ssh
  • if you specify a username in the ssh command it works, as long as the URL is the same in both. svn+ssh://bporter@foo/... is considered a different repository to svn+ssh://foo/... even if I am bporter

I think we can take a couple of steps:

  • for svn+ssh, put the username in the URL instead of passing --username
  • possibly check the current checkout (svn info) and derive the tag location from that, ignoring the local checkout OR if they don't match, relocate the local checkout to that of developerConnection
  • use javasvn instead

Issue Links

Activity

Hide
Brett Porter added a comment -

additional issue to note from Greg: if the tagBase contains scm:svn or svn: instead of just the svn url, then that doesn't work without helpful error reporting

Show
Brett Porter added a comment - additional issue to note from Greg: if the tagBase contains scm:svn or svn: instead of just the svn url, then that doesn't work without helpful error reporting
Hide
Emmanuel Venisse added a comment -

for release plugin code in svn, tagBase isn't necessary if projects use subversion standards : trunk, tags, branches

Show
Emmanuel Venisse added a comment - for release plugin code in svn, tagBase isn't necessary if projects use subversion standards : trunk, tags, branches
Hide
Jerome Lacoste added a comment -

I've just been beaten by that

Basically, --username is ignored for every command with a URLs based on svn+ssh form. Dixit darix on #svn. Will try to find a fix.

Show
Jerome Lacoste added a comment - I've just been beaten by that Basically, --username is ignored for every command with a URLs based on svn+ssh form. Dixit darix on #svn. Will try to find a fix.
Hide
Jerome Lacoste added a comment -

After some more tests, of all the commands currently implemented in the scm provider,

log, co, diff, list, remove all work with --username and no username in the svn+ssh://server.com...

so copy seems to be the only command that requires to be fixed. Taking issue...

Show
Jerome Lacoste added a comment - After some more tests, of all the commands currently implemented in the scm provider, log, co, diff, list, remove all work with --username and no username in the svn+ssh://server.com... so copy seems to be the only command that requires to be fixed. Taking issue...
Hide
Jerome Lacoste added a comment -

I fixed the scm svn provider to add or override the user into the url for tag and checkout commands. See SCM-217 for patch with unit tests.

Patched release plugin was successfully tested.

Show
Jerome Lacoste added a comment - I fixed the scm svn provider to add or override the user into the url for tag and checkout commands. See SCM-217 for patch with unit tests. Patched release plugin was successfully tested.
Hide
Jerome Lacoste added a comment -

Just as a side note, the patched release plugin failed during site generation because of cobertura failing to find the CommandLineBuilder class. probably another issue, but wanted to add it here just in case.

Show
Jerome Lacoste added a comment - Just as a side note, the patched release plugin failed during site generation because of cobertura failing to find the CommandLineBuilder class. probably another issue, but wanted to add it here just in case.

People

Vote (0)
Watch (3)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
30m
Original Estimate - 30 minutes
Remaining:
30m
Remaining Estimate - 30 minutes
Logged:
Not Specified
Time Spent - Not Specified