Author: vsiveton Date: Wed Sep 3 05:54:37 2008 New Revision: 691594 URL: http://svn.apache.org/viewvc?rev=691594&view=rev Log: o using latest parent o using svnkit:1.1.2 o updated code regarding the SCM API o added 'javasvn' as Plexus role hint o updated test cases
Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/pom.xml maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaScmProvider.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/add/SvnAddCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/changelog/SvnChangeLogCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/remove/SvnRemoveCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommand.java maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/pom.xml URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/pom.xml?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/pom.xml (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/pom.xml Wed Sep 3 05:54:37 2008 @@ -17,16 +17,37 @@ ~ under the License. --> -<project> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> <artifactId>maven-scm-providers-svn</artifactId> <groupId>org.apache.maven.scm</groupId> - <version>1.0-beta-3</version> + <version>1.1.1-SNAPSHOT</version> </parent> - <modelVersion>4.0.0</modelVersion> + <artifactId>maven-scm-provider-svnjava</artifactId> <name>Maven SCM Subversion Provider - Java Impl.</name> - <version>1.0-beta-3-SNAPSHOT</version> + + <dependencies> + <dependency> + <groupId>org.apache.maven.scm</groupId> + <artifactId>maven-scm-provider-svn-commons</artifactId> + </dependency> + <dependency> + <groupId>org.tmatesoft</groupId> + <artifactId>svnkit</artifactId> + <version>1.1.2</version> + </dependency> + + <!-- test --> + <dependency> + <groupId>org.apache.maven.scm</groupId> + <artifactId>maven-scm-provider-svntest</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + <build> <plugins> <plugin> @@ -40,29 +61,17 @@ </configuration> <!-- --> </plugin> + <plugin> + <groupId>org.codehaus.plexus</groupId> + <artifactId>plexus-maven-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>descriptor</goal> + </goals> + </execution> + </executions> + </plugin> </plugins> </build> - <dependencies> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-svn-commons</artifactId> - <version>1.0-beta-3</version> - </dependency> - <dependency> - <groupId>org.tmate</groupId> - <artifactId>javasvn</artifactId> - <version>1.0.4</version> - </dependency> - <!-- dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>3.0</version> - </dependency --> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-svntest</artifactId> - <version>1.0-beta-3</version> - <scope>test</scope> - </dependency> - </dependencies> </project> Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaScmProvider.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaScmProvider.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaScmProvider.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/SvnJavaScmProvider.java Wed Sep 3 05:54:37 2008 @@ -16,6 +16,7 @@ * limitations under the License. */ +import org.apache.maven.scm.ScmException; import org.apache.maven.scm.provider.ScmProviderRepository; import org.apache.maven.scm.provider.svn.AbstractSvnScmProvider; import org.apache.maven.scm.provider.svn.command.SvnCommand; @@ -34,14 +35,16 @@ import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory; -//import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory; import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl; +import java.io.File; +import java.net.URI; import java.util.Collections; /** * @author <a href="mailto:[EMAIL PROTECTED]">David Hawkins</a> * @version $Id$ + * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="javasvn" */ public class SvnJavaScmProvider extends AbstractSvnScmProvider @@ -50,6 +53,7 @@ private static boolean initialized = false; + /** [EMAIL PROTECTED] */ public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter ) throws ScmRepositoryException { @@ -57,7 +61,33 @@ try { - SVNURL url = SVNURL.parseURIEncoded( scmSpecificUrl ); + File f; + if ( scmSpecificUrl.trim().startsWith( "file" ) ) + { + try + { + f = new File( new URI(scmSpecificUrl)); + } + catch ( Exception e ) + { + // nop + f = new File( scmSpecificUrl ); + } + } + else + { + f = new File( scmSpecificUrl ); + } + + SVNURL url; + if ( f.exists() ) + { + url = SVNURL.fromFile( f ); + } + else + { + url = SVNURL.parseURIEncoded( scmSpecificUrl ); + } // The existing svn provider pattern is to strip the username (if any) // from the url. @@ -76,52 +106,103 @@ } } + /** [EMAIL PROTECTED] */ protected SvnCommand getAddCommand() { return new SvnAddCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getChangeLogCommand() { return new SvnChangeLogCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getCheckInCommand() { return new SvnCheckInCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getCheckOutCommand() { return new SvnCheckOutCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getDiffCommand() { return new SvnDiffCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getRemoveCommand() { return new SvnRemoveCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getStatusCommand() { return new SvnStatusCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getTagCommand() { return new SvnTagCommand(); } + /** [EMAIL PROTECTED] */ protected SvnCommand getUpdateCommand() { return new SvnUpdateCommand(); } - /* + /** [EMAIL PROTECTED] */ + protected SvnCommand getBranchCommand() + { + // TODO Auto-generated method stub + return null; + } + + /** [EMAIL PROTECTED] */ + protected SvnCommand getExportCommand() + { + // TODO Auto-generated method stub + return null; + } + + /** [EMAIL PROTECTED] */ + protected SvnCommand getInfoCommand() + { + // TODO Auto-generated method stub + return null; + } + + /** [EMAIL PROTECTED] */ + protected SvnCommand getListCommand() + { + // TODO Auto-generated method stub + return null; + } + + /** [EMAIL PROTECTED] */ + protected String getRepositoryURL( File path ) + throws ScmException + { + try + { + return SVNURL.fromFile( path ).getURIEncodedPath(); + } + catch ( SVNException e ) + { + throw new IllegalArgumentException( e.getMessage() ); + } + } + + /** * Initializes the library to work with a repository either via svn:// (and * svn+ssh://) or via http:// (and https://) */ Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/add/SvnAddCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/add/SvnAddCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/add/SvnAddCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/add/SvnAddCommand.java Wed Sep 3 05:54:37 2008 @@ -46,6 +46,7 @@ extends AbstractAddCommand implements SvnCommand { + /** [EMAIL PROTECTED] */ protected ScmResult executeAddCommand( ScmProviderRepository repository, ScmFileSet fileSet, String message, boolean binary ) throws ScmException @@ -104,6 +105,4 @@ return new AddScmResult( null, filesAdded ); } - - } Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/changelog/SvnChangeLogCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/changelog/SvnChangeLogCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/changelog/SvnChangeLogCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/changelog/SvnChangeLogCommand.java Wed Sep 3 05:54:37 2008 @@ -17,8 +17,10 @@ */ import org.apache.maven.scm.ChangeFile; +import org.apache.maven.scm.ScmBranch; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand; import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.changelog.ChangeLogSet; @@ -48,8 +50,19 @@ extends AbstractChangeLogCommand implements SvnCommand { + /** [EMAIL PROTECTED] */ + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion startVersion, ScmVersion endVersion, + String datePattern ) + throws ScmException + { + // TODO Auto-generated method stub + return super.executeChangeLogCommand( repository, fileSet, startVersion, endVersion, datePattern ); + } + + /** [EMAIL PROTECTED] */ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, - Date startDate, Date endDate, String branch, + Date startDate, Date endDate, ScmBranch branch, String datePattern ) throws ScmException { @@ -64,7 +77,7 @@ if ( branch != null ) { - url = SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveBranchUrl( javaRepo, url.toString() ) ); + url = SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveBranchUrl( javaRepo, branch ) ); } ChangeLogHandler handler = new ChangeLogHandler( startDate, endDate ); Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkin/SvnCheckInCommand.java Wed Sep 3 05:54:37 2008 @@ -20,6 +20,7 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmFileStatus; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.checkin.AbstractCheckInCommand; import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; @@ -46,15 +47,11 @@ extends AbstractCheckInCommand implements SvnCommand { + /** [EMAIL PROTECTED] */ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message, - String tag ) + ScmVersion tag ) throws ScmException { - if ( StringUtils.isNotEmpty( tag ) ) - { - throw new ScmException( "This provider can't handle tags." ); - } - getLogger().info( "SVN commit directory: " + fileSet.getBasedir().getAbsolutePath() ); SvnJavaScmProviderRepository javaRepo = (SvnJavaScmProviderRepository) repo; Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/checkout/SvnCheckOutCommand.java Wed Sep 3 05:54:37 2008 @@ -18,6 +18,8 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmTag; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; @@ -40,7 +42,8 @@ extends AbstractCheckOutCommand implements SvnCommand { - protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag ) + /** [EMAIL PROTECTED] */ + protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion tag, boolean recursive ) throws ScmException { getLogger().info( "SVN checkout directory: " + fileSet.getBasedir().getAbsolutePath() ); @@ -50,7 +53,7 @@ String url = repository.getUrl(); if ( tag != null ) { - url = SvnTagBranchUtils.resolveTagUrl( repository, tag ); + url = SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag.getName() ) ); } SvnJavaScmProviderRepository javaRepo = (SvnJavaScmProviderRepository) repo; @@ -76,6 +79,4 @@ javaRepo.getClientManager().getUpdateClient().setEventHandler( null ); } } - - } Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/diff/SvnDiffCommand.java Wed Sep 3 05:54:37 2008 @@ -18,6 +18,7 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.diff.AbstractDiffCommand; import org.apache.maven.scm.command.diff.DiffScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; @@ -44,8 +45,9 @@ extends AbstractDiffCommand implements SvnCommand { - protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, String startRevision, - String endRevision ) + /** [EMAIL PROTECTED] */ + protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet, + ScmVersion startRevision, ScmVersion endRevision ) throws ScmException { getLogger().info( "SVN diff directory: " + fileSet.getBasedir().getAbsolutePath() ); @@ -58,8 +60,8 @@ { javaRepo.getClientManager().getDiffClient().setEventHandler( handler ); - SVNRevision start = ( startRevision == null ) ? SVNRevision.COMMITTED : SVNRevision.parse( startRevision ); - SVNRevision end = ( endRevision == null ) ? SVNRevision.WORKING : SVNRevision.parse( endRevision ); + SVNRevision start = ( startRevision == null ) ? SVNRevision.COMMITTED : SVNRevision.parse( startRevision.getName() ); + SVNRevision end = ( endRevision == null ) ? SVNRevision.WORKING : SVNRevision.parse( endRevision.getName() ); ByteArrayOutputStream out = SvnJavaUtil.diff( javaRepo.getClientManager(), fileSet.getBasedir(), start, end ); Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/remove/SvnRemoveCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/remove/SvnRemoveCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/remove/SvnRemoveCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/remove/SvnRemoveCommand.java Wed Sep 3 05:54:37 2008 @@ -37,6 +37,7 @@ extends AbstractRemoveCommand implements SvnCommand { + /** [EMAIL PROTECTED] */ protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message ) throws ScmException { Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/status/SvnStatusCommand.java Wed Sep 3 05:54:37 2008 @@ -36,6 +36,7 @@ extends AbstractStatusCommand implements SvnCommand { + /** [EMAIL PROTECTED] */ protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet ) throws ScmException { @@ -48,7 +49,7 @@ try { SvnJavaUtil.status( javaRepo.getClientManager(), fileSet.getBasedir(), true, // isRecursive - true, // isRemote + true, // isRemote handler ); return new StatusScmResult( SvnJavaScmProvider.COMMAND_LINE, handler.getFiles() ); Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/tag/SvnTagCommand.java Wed Sep 3 05:54:37 2008 @@ -21,6 +21,7 @@ import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.ScmResult; +import org.apache.maven.scm.ScmTag; import org.apache.maven.scm.command.tag.AbstractTagCommand; import org.apache.maven.scm.command.tag.TagScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; @@ -50,7 +51,9 @@ extends AbstractTagCommand implements SvnCommand { - public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag ) + /** [EMAIL PROTECTED] */ + protected ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, + String message ) throws ScmException { if ( tag == null ) @@ -71,7 +74,7 @@ try { - SVNURL destURL = SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveTagUrl( repository, tag ) ); + SVNURL destURL = SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag ) ) ); SVNCommitInfo info = SvnJavaUtil.copy( javaRepo.getClientManager(), javaRepo.getSvnUrl(), destURL, false, "[maven-scm] copy for tag " + tag ); @@ -82,7 +85,7 @@ info.getError().getMessage(), false ); } - // The copy command doesn't return a list of files that were tagged, + // The copy command doesn't return a list of files that were tagged, // so manually build the list from the contents of the fileSet.getBaseDir. List fileList = new ArrayList(); List files = null; Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommand.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommand.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommand.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/main/java/org/apache/maven/scm/provider/svn/svnjava/command/update/SvnUpdateCommand.java Wed Sep 3 05:54:37 2008 @@ -18,6 +18,8 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmTag; +import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.changelog.ChangeLogCommand; import org.apache.maven.scm.command.update.AbstractUpdateCommand; import org.apache.maven.scm.command.update.UpdateScmResult; @@ -42,8 +44,8 @@ extends AbstractUpdateCommand implements SvnCommand { - - protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag ) + /** [EMAIL PROTECTED] */ + protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet, ScmVersion tag ) throws ScmException { SvnScmProviderRepository repository = (SvnScmProviderRepository) repo; @@ -60,14 +62,14 @@ if ( tag == null || SvnTagBranchUtils.isRevisionSpecifier( tag ) ) { - SvnJavaUtil.update( javaRepo.getClientManager(), fileSet.getBasedir(), getSVNRevision( tag ), true ); + SvnJavaUtil.update( javaRepo.getClientManager(), fileSet.getBasedir(), SVNRevision.parse( tag.getName() ), true ); } else { - // The tag specified does not appear to be numeric, so assume it refers + // The tag specified does not appear to be numeric, so assume it refers // to a branch/tag url and perform a switch operation rather than update SvnJavaUtil.switchToURL( javaRepo.getClientManager(), fileSet.getBasedir(), - SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveTagUrl( repository, tag ) ), + SVNURL.parseURIEncoded( SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag.getName() ) ) ), SVNRevision.HEAD, true ); } @@ -83,21 +85,7 @@ } } - private static SVNRevision getSVNRevision( String revision ) - { - if ( revision == null || !SvnTagBranchUtils.isRevisionSpecifier( revision ) ) - { - return SVNRevision.HEAD; - } - else - { - return SVNRevision.parse( revision ); - } - } - - /** - * @see org.apache.maven.scm.command.update.AbstractUpdateCommand#getChangeLogCommand() - */ + /** [EMAIL PROTECTED] */ protected ChangeLogCommand getChangeLogCommand() { SvnChangeLogCommand command = new SvnChangeLogCommand(); @@ -106,6 +94,4 @@ return command; } - - } Modified: maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java?rev=691594&r1=691593&r2=691594&view=diff ============================================================================== --- maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java (original) +++ maven/sandbox/trunk/scm/maven-scm-provider-svnjava/src/test/java/org/apache/maven/scm/provider/svn/svnjava/repository/SvnScmProviderRepositoryTest.java Wed Sep 3 05:54:37 2008 @@ -18,6 +18,7 @@ import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.manager.ScmManager; +import org.apache.maven.scm.provider.ScmProvider; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.provider.svn.svnjava.SvnJavaScmProvider; import org.apache.maven.scm.repository.ScmRepository; @@ -50,49 +51,49 @@ public void testFileURLNotSupported() throws Exception { - testUrl( "scm:svn:file:///tmp/repo", "file:///tmp/repo", null ); + testUrl( "scm:javasvn:file:///tmp/repo", "file:///tmp/repo", null ); } public void testLocalhostFileURLNotSupported() throws Exception { - testUrl( "scm:svn:file://localhost/tmp/repo", "file://localhost/tmp/repo", null ); + testUrl( "scm:javasvn:file://localhost/tmp/repo", "file://localhost/tmp/repo", null ); } public void testLocalhostFileURLNotSupportedBis() throws Exception { - testUrl( "scm:svn:file://toto/tmp/repo", "file://toto/tmp/repo", null ); + testUrl( "scm:javasvn:file://toto/tmp/repo", "file://toto/tmp/repo", null ); } public void testLegalHttpURL() throws Exception { - testUrl( "scm:svn:http://subversion.tigris.org", "http://subversion.tigris.org", null ); + testUrl( "scm:javasvn:http://subversion.tigris.org", "http://subversion.tigris.org", null ); } public void testLegalHttpsURL() throws Exception { - testUrl( "scm:svn:https://subversion.tigris.org", "https://subversion.tigris.org", null ); + testUrl( "scm:javasvn:https://subversion.tigris.org", "https://subversion.tigris.org", null ); } public void testLegalSvnURL() throws Exception { - testUrl( "scm:svn:svn://subversion.tigris.org", "svn://subversion.tigris.org", null ); + testUrl( "scm:javasvn:svn://subversion.tigris.org", "svn://subversion.tigris.org", null ); } public void testLegalSvnPlusUsernameURL() throws Exception { - testUrl( "scm:svn:svn://[EMAIL PROTECTED]", "svn://subversion.tigris.org", "username" ); + testUrl( "scm:javasvn:svn://[EMAIL PROTECTED]", "svn://subversion.tigris.org", "username" ); } public void testLegalSvnPlusSshURL() throws Exception { - testUrl( "scm:svn:svn+ssh://subversion.tigris.org", "svn+ssh://subversion.tigris.org", null ); + testUrl( "scm:javasvn:svn+ssh://subversion.tigris.org", "svn+ssh://subversion.tigris.org", null ); } public void testLegalSvnPlusSshPlusUsernameURL() @@ -100,7 +101,7 @@ { // This is a change from the command line svn implementation. JavaSVN will strip the username // from the url because it is not needed. - testUrl( "scm:svn:svn+ssh://[EMAIL PROTECTED]", "svn+ssh://subversion.tigris.org", "username" ); + testUrl( "scm:javasvn:svn+ssh://[EMAIL PROTECTED]", "svn+ssh://subversion.tigris.org", "username" ); } // ---------------------------------------------------------------------- @@ -153,7 +154,7 @@ { try { - scmManager.makeScmRepository( "scm:svn:" + url ); + scmManager.makeScmRepository( "scm:javasvn:" + url ); fail( "Expected a ScmRepositoryException while testing the url '" + url + "'." ); }