You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ev...@apache.org on 2006/02/26 12:17:05 UTC
svn commit: r381077 [1/6] - in /maven/scm/trunk/maven-scm-providers: ./
maven-scm-provider-svn/ maven-scm-providers-svn/
maven-scm-providers-svn/maven-scm-provider-svn-commons/
maven-scm-providers-svn/maven-scm-provider-svn-commons/src/
maven-scm-provi...
Author: evenisse
Date: Sun Feb 26 03:16:52 2006
New Revision: 381077
URL: http://svn.apache.org/viewcvs?rev=381077&view=rev
Log:
Refactoring of maven-scm-provider-svn to maven-scm-provider-svn-commons and maven-scm-provider-svn-svnexe
Added:
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/ (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/ (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtilsTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/TestSvnScmProvider.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/resources/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/resources/META-INF/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/resources/META-INF/plexus/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/test/resources/META-INF/plexus/components.xml (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/ (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommand.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/resources/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/resources/META-INF/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/resources/META-INF/plexus/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/resources/META-INF/plexus/components.xml (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/SvnScmTestUtils.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogCommandTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumerTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutCommandTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/status/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTckTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateCommandTest.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/svn/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/svn/changelog/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/svn/changelog/svnlog.txt (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/svn/changelog/svnlog2.txt (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/tck/
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/resources/tck/tck.dump
maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/pom.xml (with props)
Removed:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/
Modified:
maven/scm/trunk/maven-scm-providers/pom.xml
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Feb 26 03:16:52 2006
@@ -0,0 +1,3 @@
+maven-scm-providers-svn.iws
+maven-scm-providers-svn.iml
+maven-scm-providers-svn.ipr
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Feb 26 03:16:52 2006
@@ -0,0 +1,2 @@
+target
+maven-scm-provider-svn-commons.iml
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml Sun Feb 26 03:16:52 2006
@@ -0,0 +1,33 @@
+<project>
+ <parent>
+ <groupId>org.apache.maven.scm</groupId>
+ <artifactId>maven-scm-providers-svn</artifactId>
+ <version>1.0-beta-3-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>maven-scm-provider-svn-commons</artifactId>
+ <name>Maven SCM Subversion Provider - Common library</name>
+ <version>1.0-beta-3-SNAPSHOT</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/svn-settings.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,364 @@
+package org.apache.maven.scm.provider.svn;
+
+/*
+ * Copyright 2003-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.maven.scm.CommandParameters;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
+import org.apache.maven.scm.command.checkin.CheckInScmResult;
+import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.command.diff.DiffScmResult;
+import org.apache.maven.scm.command.remove.RemoveScmResult;
+import org.apache.maven.scm.command.status.StatusScmResult;
+import org.apache.maven.scm.command.tag.TagScmResult;
+import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.provider.AbstractScmProvider;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.svn.command.SvnCommand;
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.apache.maven.scm.provider.svn.util.EntriesReader;
+import org.apache.maven.scm.provider.svn.util.Entry;
+import org.apache.maven.scm.repository.ScmRepository;
+import org.apache.maven.scm.repository.ScmRepositoryException;
+import org.apache.maven.scm.repository.UnknownRepositoryStructure;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public abstract class AbstractSvnScmProvider
+ extends AbstractScmProvider
+{
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private static class ScmUrlParserResult
+ {
+ List messages = new ArrayList();
+
+ ScmProviderRepository repository;
+ }
+
+ // ----------------------------------------------------------------------
+ // ScmProvider Implementation
+ // ----------------------------------------------------------------------
+
+ public ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
+ throws ScmRepositoryException
+ {
+ ScmUrlParserResult result = parseScmUrl( scmSpecificUrl );
+
+ if ( result.messages.size() > 0 )
+ {
+ throw new ScmRepositoryException( "The scm url is invalid.", result.messages );
+ }
+
+ return result.repository;
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.AbstractScmProvider#makeProviderScmRepository(java.io.File)
+ */
+ public ScmProviderRepository makeProviderScmRepository( File path )
+ throws ScmRepositoryException, UnknownRepositoryStructure
+ {
+ if ( path == null || !path.isDirectory() )
+ {
+ throw new ScmRepositoryException( path.getAbsolutePath() + " isn't a valid directory." );
+ }
+
+ File svnDirectory = new File( path, ".svn" );
+
+ if ( !svnDirectory.exists() )
+ {
+ throw new ScmRepositoryException( path.getAbsolutePath() + " isn't a svn checkout directory." );
+ }
+
+ File svnEntriesFile = new File( svnDirectory, "entries" );
+
+ String svnUrl = null;
+
+ try
+ {
+ FileReader reader = new FileReader( svnEntriesFile );
+
+ EntriesReader entriesReader = new EntriesReader();
+
+ List entries = entriesReader.read( reader );
+
+ for ( Iterator i = entries.iterator(); i.hasNext(); )
+ {
+ Entry svnEntry = (Entry) i.next();
+
+ if ( "".equals( svnEntry.getName() ) )
+ {
+ svnUrl = svnEntry.getUrl();
+ }
+ }
+ }
+ catch ( Exception e )
+ {
+ ScmRepositoryException ex = new ScmRepositoryException( "Can't read " + svnEntriesFile.getAbsolutePath() );
+
+ ex.setStackTrace( e.getStackTrace() );
+
+ throw ex;
+ }
+
+ return makeProviderScmRepository( svnUrl, ':' );
+ }
+
+
+ public List validateScmUrl( String scmSpecificUrl, char delimiter )
+ {
+ List messages = new ArrayList();
+ try
+ {
+ makeProviderScmRepository( scmSpecificUrl, delimiter );
+ }
+ catch( ScmRepositoryException e )
+ {
+ messages = e.getValidationMessages();
+ }
+ return messages;
+ }
+
+ public String getScmType()
+ {
+ return "svn";
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ private ScmUrlParserResult parseScmUrl( String scmSpecificUrl )
+ {
+ ScmUrlParserResult result = new ScmUrlParserResult();
+
+ String url = scmSpecificUrl;
+
+ String user = null;
+
+ String password = null;
+
+ String protocol = null;
+
+ // ----------------------------------------------------------------------
+ // Do some sanity checking of the SVN url
+ // ----------------------------------------------------------------------
+
+ if ( url.startsWith( "file" ) )
+ {
+ if ( !url.startsWith( "file:///" ) && !url.startsWith( "file://localhost/" ) )
+ {
+ result.messages.add( "A svn 'file' url must be on the form 'file:///' or 'file://localhost/'." );
+
+ return result;
+ }
+
+ protocol = "file://";
+ }
+ else if ( url.startsWith( "https" ) )
+ {
+ if ( !url.startsWith( "https://" ) )
+ {
+ result.messages.add( "A svn 'http' url must be on the form 'https://'." );
+
+ return result;
+ }
+
+ protocol = "https://";
+ }
+ else if ( url.startsWith( "http" ) )
+ {
+ if ( !url.startsWith( "http://" ) )
+ {
+ result.messages.add( "A svn 'http' url must be on the form 'http://'." );
+
+ return result;
+ }
+
+ protocol = "http://";
+ }
+ else if ( url.startsWith( "svn+ssh" ) )
+ {
+ if ( !url.startsWith( "svn+ssh://" ) )
+ {
+ result.messages.add( "A svn 'svn+ssh' url must be on the form 'svn+ssh://'." );
+
+ return result;
+ }
+
+ protocol = "svn+ssh://";
+ }
+ else if ( url.startsWith( "svn" ) )
+ {
+ if ( !url.startsWith( "svn://" ) )
+ {
+ result.messages.add( "A svn 'svn' url must be on the form 'svn://'." );
+
+ return result;
+ }
+
+ protocol = "svn://";
+ }
+ else
+ {
+ result.messages.add( url + " url isn't a valid svn URL." );
+
+ return result;
+ }
+
+ String urlPath = url.substring( protocol.length() );
+
+ int indexAt = urlPath.indexOf( "@" );
+
+ if ( indexAt > 0 && !"svn+ssh://".equals( protocol ) )
+ {
+ user = urlPath.substring( 0, indexAt );
+
+ url = protocol + urlPath.substring( indexAt + 1 );
+ }
+ else
+ {
+ url = protocol + urlPath;
+ }
+
+ result.repository = new SvnScmProviderRepository( url, user, password );
+
+ return result;
+ }
+
+ protected abstract SvnCommand getAddCommand();
+
+ /**
+ * @see AbstractScmProvider#add(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (AddScmResult) executeCommand( getAddCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getChangeLogCommand();
+
+ /**
+ * @see AbstractScmProvider#changelog(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (ChangeLogScmResult) executeCommand( getChangeLogCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getCheckInCommand();
+
+ /**
+ * @see AbstractScmProvider#checkin(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (CheckInScmResult) executeCommand( getCheckInCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getCheckOutCommand();
+
+ /**
+ * @see AbstractScmProvider#checkout(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (CheckOutScmResult) executeCommand( getCheckOutCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getDiffCommand();
+
+ /**
+ * @see AbstractScmProvider#diff(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (DiffScmResult) executeCommand( getDiffCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getRemoveCommand();
+
+ /**
+ * @see AbstractScmProvider#remove(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (RemoveScmResult) executeCommand( getRemoveCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getStatusCommand();
+
+ /**
+ * @see AbstractScmProvider#status(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (StatusScmResult) executeCommand( getStatusCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getTagCommand();
+
+ /**
+ * @see AbstractScmProvider#tag(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (TagScmResult) executeCommand( getTagCommand(), repository, fileSet, parameters );
+ }
+
+ protected abstract SvnCommand getUpdateCommand();
+
+ /**
+ * @see AbstractScmProvider#update(ScmRepository, ScmFileSet, CommandParameters)
+ */
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ return (UpdateScmResult) executeCommand( getUpdateCommand(), repository, fileSet, parameters );
+ }
+
+ protected ScmResult executeCommand( SvnCommand command, ScmRepository repository, ScmFileSet fileSet,
+ CommandParameters parameters )
+ throws ScmException
+ {
+ command.setLogger( getLogger() );
+
+ return command.execute( repository.getProviderRepository(), fileSet, parameters );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,61 @@
+package org.apache.maven.scm.provider.svn;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.ChangeFile;
+import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class SvnChangeSet
+ extends ChangeSet
+{
+ public boolean containsFilename( String filename, ScmProviderRepository repository )
+ {
+ SvnScmProviderRepository repo = (SvnScmProviderRepository) repository;
+
+ String url = repo.getUrl();
+
+ if ( !url.endsWith( "/" ) )
+ {
+ url += "/";
+ }
+
+ String currentFile = url + filename;
+
+ if ( getFiles() != null )
+ {
+ for ( Iterator i = getFiles().iterator(); i.hasNext(); )
+ {
+ ChangeFile file = (ChangeFile) i.next();
+
+ if ( currentFile.endsWith( file.getName() ) )
+ {
+ return true;
+ }
+ }
+ }
+
+ return false;
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnChangeSet.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,263 @@
+package org.apache.maven.scm.provider.svn;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
+
+public class SvnTagBranchUtils
+{
+
+ public final static String[] REVISION_SPECIFIERS = new String[]{"HEAD", "BASE", "COMMITTED", "PREV"};
+
+ public final static String SVN_TRUNK = "trunk";
+
+ public final static String SVN_BRANCHES = "branches";
+
+ public final static String SVN_TAGS = "tags";
+
+ public final static String[] SVN_BASE_DIRS = new String[]{SVN_TRUNK, SVN_BRANCHES, SVN_TAGS};
+
+ /**
+ * Simple helper function to concatenate two paths together with a "/".
+ * Handles trailing / on basePath.
+ * Returns no trailing "/" if the addlPath is null
+ */
+ static String appendPath( String basePath, String addlPath )
+ {
+ basePath = StringUtils.stripEnd( basePath, "/" );
+
+ if ( StringUtils.isEmpty( addlPath ) )
+ {
+ return basePath;
+ }
+ else
+ {
+ return basePath + "/" + StringUtils.stripStart( addlPath, "/" );
+ }
+ }
+
+ /**
+ * Returns the project root for the given repository url,
+ * where "project root" is the root of the /trunk, /branches, /tags
+ * directories
+ *
+ * @param repoPath Repository path/url to be searched
+ * @return
+ */
+ public static String getProjectRoot( String repoPath )
+ {
+ for ( int i = 0; i < SVN_BASE_DIRS.length; i++ )
+ {
+ String base = "/" + SVN_BASE_DIRS[i];
+ int pos = repoPath.indexOf( base + "/" );
+ if ( pos >= 0 )
+ {
+ return repoPath.substring( 0, pos );
+ }
+ else if ( repoPath.endsWith( base ) )
+ {
+ return repoPath.substring( 0, repoPath.length() - base.length() );
+ }
+ }
+
+ // At this point we were unable to locate the project root of this url
+ // so assume that the repository url specified is the project root
+ return appendPath( repoPath, null );
+ }
+
+ /**
+ * Resolves a tag to a repository url.
+ * By supplying the repository to this function (rather than calling {@link #resolveTagUrl(String, String)}
+ * the resolution can use the repository's tagBase to override the default tag location.
+ *
+ * @param repository the repository to use as a base for tag resolution
+ * @param tag tag name
+ * @return
+ * @see #resolveUrl(SvnScmProviderRepository, String, String)
+ */
+ public static String resolveTagUrl( SvnScmProviderRepository repository, String tag )
+ {
+ return resolveUrl( repository.getUrl(), repository.getTagBase(), SVN_TAGS, tag );
+ }
+
+ /**
+ * Resolves a tag to a repository url.
+ * Will not use the {@link SvnScmProviderRepository#getTagBase()} during resolution.
+ *
+ * @param repositoryUrl string url for the repository
+ * @param tag tag name
+ * @return
+ * @see #resolveUrl(SvnScmProviderRepository, String, String)
+ */
+ public static String resolveTagUrl( String repositoryUrl, String tag )
+ {
+ return resolveUrl( repositoryUrl, null, SVN_TAGS, tag );
+ }
+
+ /**
+ * Resolves a branch name to a repository url.
+ * By supplying the repository to this function (rather than calling {@link #resolveBranchUrl(String, String)}
+ * the resolution can use the repository's tagBase to override the default tag location.
+ *
+ * @param repository the repository to use as a base for tag resolution
+ * @param branch tag name
+ * @return
+ * @see #resolveUrl(SvnScmProviderRepository, String, String)
+ */
+ public static String resolveBranchUrl( SvnScmProviderRepository repository, String branch )
+ {
+ return resolveUrl( repository.getUrl(), repository.getTagBase(), SVN_BRANCHES, branch );
+ }
+
+ /**
+ * Resolves a branch name to a repository url.
+ * Will not use the {@link SvnScmProviderRepository#getTagBase()} during resolution.
+ *
+ * @param repositoryUrl string url for the repository
+ * @param branch branch name
+ * @return
+ * @see #resolveUrl(SvnScmProviderRepository, String, String)
+ */
+ public static String resolveBranchUrl( String repositoryUrl, String branch )
+ {
+ return resolveUrl( repositoryUrl, null, SVN_BRANCHES, branch );
+ }
+
+ private static String addSuffix( String baseString, String suffix )
+ {
+ return ( suffix != null ) ? baseString + suffix : baseString;
+ }
+
+
+ /**
+ * Resolves a tag or branch name to a repository url.<br>
+ * If the <code>branchTagName</code> is an absolute URL, that value is returned.
+ * (i.e. http://foo.com/svn/myproject/tags/my-tag)<br>
+ * <p/>
+ * If the repository has a {@link SvnScmProviderRepository#getTagBase()} specified,
+ * the tag is simply appended to the tagBase value. Note that at this time, we are using
+ * the tagBase as a base for both branches and tags.<br>
+ * <p/>
+ * If the <code>branchTagName</code> contains a branch/tag specifier (i.e. "/branches", "/tags", "/trunk"),
+ * the <code>branchTagName</code> is appended to the <code>projectRoot</code> without adding the subdir.<br>
+ * Else, the result is in the format of <code>projectRoot/subdir/branchTagName</code> directory.<br>
+ *
+ * @param projectRoot Project root to use when building the url.
+ * @param subdir Subdirectory to append to the project root
+ * (for branching use "branches", tags use "tags")
+ * @param branchTagName Name of the actual branch or tag. Can be an absolute url, simple tag/branch name,
+ * or even contain a relative path to the root like "branches/my-branch"
+ * @return
+ */
+ public static String resolveUrl( String repositoryUrl, String tagBase, String subdir, String branchTagName )
+ {
+ String projectRoot = getProjectRoot( repositoryUrl );
+ branchTagName = StringUtils.strip( branchTagName, "/" );
+
+ if ( StringUtils.isEmpty( branchTagName ) )
+ {
+ return null;
+ }
+
+ // Look for a query string as in ViewCVS urls
+ String queryString = null;
+ if ( repositoryUrl.indexOf( "?" ) >= 0 )
+ {
+ queryString = repositoryUrl.substring( repositoryUrl.indexOf( "?" ) );
+ }
+
+ if ( branchTagName.indexOf( "://" ) >= 0 )
+ {
+ // branch/tag is already an absolute url so just return it.
+ return branchTagName;
+ }
+
+ // User has a tagBase specified so just return the name appended to the tagBase
+ if ( StringUtils.isNotEmpty( tagBase ) )
+ {
+ return appendPath( tagBase, branchTagName );
+ }
+
+ // Look for any "branches/" or "tags/" specifiers in the branchTagName. If one occurs,
+ // don't append the subdir to the projectRoot when appending the name
+ for ( int i = 0; i < SVN_BASE_DIRS.length; i++ )
+ {
+ if ( branchTagName.startsWith( SVN_BASE_DIRS[i] + "/" ) )
+ {
+ return addSuffix( appendPath( projectRoot, branchTagName ), queryString );
+ }
+ }
+
+ return addSuffix( appendPath( appendPath( projectRoot, subdir ), branchTagName ), queryString );
+ }
+
+ /* Helper function that does the checking for {@link #isRevisionSpecifier}
+ */
+ private static boolean checkRevisionArg( String arg )
+ {
+ if ( StringUtils.isNumeric( arg ) || ( arg.startsWith( "{" ) && arg.endsWith( "}" ) ) )
+ {
+ return true;
+ }
+
+ for ( int i = 0; i < REVISION_SPECIFIERS.length; i++ )
+ {
+ if ( REVISION_SPECIFIERS[i].equalsIgnoreCase( arg ) )
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Returns whether the supplied tag refers to an actual revision or
+ * is specifying a tag/branch url in the repository.
+ * According to the subversion documentation, the following are valid revision specifiers:
+ * NUMBER revision number
+ * "{" DATE "}" revision at start of the date
+ * "HEAD" latest in repository
+ * "BASE" base rev of item's working copy
+ * "COMMITTED" last commit at or before BASE
+ * "PREV"
+ * <p/>
+ * For command such as diff, the revision argument can be in the format of:
+ * IDENTIFIER:IDENTIFIER where IDENTIFIER is one of the args listed above
+ */
+ public static boolean isRevisionSpecifier( String tag )
+ {
+ if ( StringUtils.isEmpty( tag ) )
+ {
+ return false;
+ }
+
+ if ( checkRevisionArg( tag ) )
+ {
+ return true;
+ }
+
+ String[] parts = StringUtils.split( tag, ":" );
+ if ( parts.length == 2 && StringUtils.isNotEmpty( parts[0] ) && StringUtils.isNotEmpty( parts[1] ) )
+ {
+ return checkRevisionArg( parts[0] ) && checkRevisionArg( parts[1] );
+ }
+
+ return false;
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnTagBranchUtils.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,28 @@
+package org.apache.maven.scm.provider.svn.command;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.command.Command;
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
+ * @version $Id$
+ */
+public interface SvnCommand
+ extends Command
+{
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommand.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,162 @@
+package org.apache.maven.scm.provider.svn.command.diff;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.log.ScmLogger;
+import org.codehaus.plexus.util.cli.StreamConsumer;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class SvnDiffConsumer
+ implements StreamConsumer
+{
+ //
+ // Index: plugin.jelly
+ // ===================================================================
+ // --- plugin.jelly (revision 124799)
+ // +++ plugin.jelly (working copy)
+ //
+
+ private final static String INDEX_TOKEN = "Index: ";
+
+ private final static String FILE_SEPARATOR_TOKEN = "===";
+
+ private final static String START_REVISION_TOKEN = "---";
+
+ private final static String END_REVISION_TOKEN = "+++";
+
+ private final static String ADDED_LINE_TOKEN = "+";
+
+ private final static String REMOVED_LINE_TOKEN = "-";
+
+ private final static String UNCHANGED_LINE_TOKEN = " ";
+
+ private final static String CHANGE_SEPARATOR_TOKEN = "@@";
+
+ private final static String NO_NEWLINE_TOKEN = "\\ No newline at end of file";
+
+ private ScmLogger logger;
+
+ private String currentFile;
+
+ private StringBuffer currentDifference;
+
+ private List changedFiles = new ArrayList();
+
+ private Map differences = new HashMap();
+
+ private StringBuffer patch = new StringBuffer();
+
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+
+ public SvnDiffConsumer( ScmLogger logger, File workingDirectory )
+ {
+ this.logger = logger;
+ }
+
+ // ----------------------------------------------------------------------
+ // StreamConsumer Implementation
+ // ----------------------------------------------------------------------
+
+ public void consumeLine( String line )
+ {
+ if ( line.startsWith( INDEX_TOKEN ) )
+ {
+ // start a new file
+ currentFile = line.substring( INDEX_TOKEN.length() );
+
+ changedFiles.add( new ScmFile( currentFile, ScmFileStatus.MODIFIED ) );
+
+ currentDifference = new StringBuffer();
+
+ differences.put( currentFile, currentDifference );
+
+ patch.append( line ).append( "\n" );
+
+ return;
+ }
+
+ if ( currentFile == null )
+ {
+ logger.warn( "Unparseable line: '" + line + "'" );
+ patch.append( line ).append( "\n" );
+ return;
+ }
+
+ if ( line.startsWith( FILE_SEPARATOR_TOKEN ) )
+ {
+ // skip
+ patch.append( line ).append( "\n" );
+ }
+ else if ( line.startsWith( START_REVISION_TOKEN ) )
+ {
+ // skip, though could parse to verify filename, start revision
+ patch.append( line ).append( "\n" );
+ }
+ else if ( line.startsWith( END_REVISION_TOKEN ) )
+ {
+ // skip, though could parse to verify filename, end revision
+ patch.append( line ).append( "\n" );
+ }
+ else if ( line.startsWith( ADDED_LINE_TOKEN ) || line.startsWith( REMOVED_LINE_TOKEN ) ||
+ line.startsWith( UNCHANGED_LINE_TOKEN ) || line.startsWith( CHANGE_SEPARATOR_TOKEN ) ||
+ line.equals( NO_NEWLINE_TOKEN ) )
+ {
+ // add to buffer
+ currentDifference.append( line ).append( "\n" );
+ patch.append( line ).append( "\n" );
+ }
+ else
+ {
+ // TODO: handle property differences
+
+ logger.warn( "Unparseable line: '" + line + "'" );
+ patch.append( line ).append( "\n" );
+ // skip to next file
+ currentFile = null;
+ currentDifference = null;
+ }
+ }
+
+ public List getChangedFiles()
+ {
+ return changedFiles;
+ }
+
+ public Map getDifferences()
+ {
+ return differences;
+ }
+
+ public String getPatch()
+ {
+ return patch.toString();
+ }
+
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,43 @@
+package org.apache.maven.scm.provider.svn.command.update;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.command.update.UpdateScmResult;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
+ * @version $Id$
+ */
+public class SvnUpdateScmResult
+ extends UpdateScmResult
+{
+ private int revision;
+
+ public SvnUpdateScmResult( String commandLine, List updatedFiles, int revision )
+ {
+ super( commandLine, updatedFiles );
+
+ this.revision = revision;
+ }
+
+ public int getRevision()
+ {
+ return revision;
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/update/SvnUpdateScmResult.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,131 @@
+package org.apache.maven.scm.provider.svn.repository;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.provider.ScmProviderRepositoryWithHost;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class SvnScmProviderRepository
+ extends ScmProviderRepositoryWithHost
+{
+ /** */
+ private String url;
+
+ /**
+ * The base directory for any tags. Can be relative to the repository URL or an absolute URL.
+ */
+ private String tagBase;
+
+ public SvnScmProviderRepository( String url, String user, String password )
+ {
+ setUser( user );
+
+ setPassword( password );
+
+ parseUrl( url );
+ }
+
+ public String getUrl()
+ {
+ return url;
+ }
+
+ /**
+ * Returns the url/directory to be used when tagging this repository.
+ */
+ public String getTagBase()
+ {
+ return tagBase;
+ }
+
+ /**
+ * Sets the url/directory to be used when tagging this repository.
+ * The TagBase is a way to override the default tag location for the
+ * repository. The default tag location is automatically determined
+ * for repositories in the standard subversion layout (with /tags /branches /trunk).
+ * Specify this value only if the repository is using a directory other than "/tags" for tagging.
+ *
+ * @param tagBase an absolute or relative url to the base directory to create tags in.
+ * URL should be in a format that svn client understands, not the scm url format.
+ */
+ public void setTagBase( String tagBase )
+ {
+ this.tagBase = tagBase;
+ }
+
+ private void parseUrl( String url )
+ {
+ String protocol = null;
+
+ if ( url.startsWith( "file" ) )
+ {
+ protocol = "file://";
+ }
+ else if ( url.startsWith( "https" ) )
+ {
+ protocol = "https://";
+ }
+ else if ( url.startsWith( "http" ) )
+ {
+ protocol = "http://";
+ }
+ else if ( url.startsWith( "svn+ssh" ) )
+ {
+ protocol = "svn+ssh://";
+ }
+ else if ( url.startsWith( "svn" ) )
+ {
+ protocol = "svn://";
+ }
+
+ String urlPath = url.substring( protocol.length() );
+
+ int indexAt = urlPath.indexOf( "@" );
+
+ if ( indexAt > 0 && !"svn+ssh://".equals( protocol ) )
+ {
+ setUser( urlPath.substring( 0, indexAt ) );
+
+ urlPath = urlPath.substring( indexAt + 1 );
+
+ this.url = protocol + urlPath;
+ }
+ else
+ {
+ this.url = protocol + urlPath;
+ }
+
+ if ( !"file://".equals( protocol ) )
+ {
+ int indexSlash = urlPath.indexOf( "/" );
+ if ( indexSlash > 0 )
+ {
+ String hostPort = urlPath.substring( 0, indexSlash );
+ int indexColon = hostPort.indexOf( ":" );
+
+ if ( indexColon > 0 )
+ {
+ setHost( hostPort.substring( 0, indexColon ) );
+ setPort( Integer.parseInt( hostPort.substring( indexColon + 1 ) ) );
+ }
+ }
+ }
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,92 @@
+package org.apache.maven.scm.provider.svn.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.codehaus.plexus.util.xml.pull.MXParser;
+import org.codehaus.plexus.util.xml.pull.XmlPullParser;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.List;
+
+public class EntriesReader
+{
+ public List read( Reader reader )
+ throws IOException, XmlPullParserException
+ {
+ XmlPullParser parser = new MXParser();
+
+ parser.setInput( reader );
+
+ List entries = new ArrayList();
+
+ int eventType = parser.getEventType();
+
+ while ( eventType != XmlPullParser.END_DOCUMENT )
+ {
+ if ( eventType == XmlPullParser.START_TAG )
+ {
+ while ( parser.nextTag() == XmlPullParser.START_TAG )
+ {
+ if ( parser.getName().equals( "entry" ) )
+ {
+ entries.add( parseEntry( "entry", parser ) );
+ }
+ else
+ {
+ parser.nextText();
+ }
+ }
+ }
+ eventType = parser.next();
+ }
+
+ return entries;
+ }
+
+ private Entry parseEntry( String tagName, XmlPullParser parser )
+ throws IOException, XmlPullParserException
+ {
+ Entry entry = new Entry();
+
+ entry.setName( getTrimmedValue( parser.getAttributeValue( "", "name" ) ) );
+
+ entry.setUrl( getTrimmedValue( parser.getAttributeValue( "", "url" ) ) );
+
+ return entry;
+ }
+
+ public int getIntegerValue( String s )
+ {
+ if ( s != null )
+ {
+ return Integer.valueOf( s ).intValue();
+ }
+ return 0;
+ }
+
+ public String getTrimmedValue( String s )
+ {
+ if ( s != null )
+ {
+ s = s.trim();
+ }
+ return s;
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/EntriesReader.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,289 @@
+package org.apache.maven.scm.provider.svn.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Class Entry.
+ *
+ * @version $Revision: 372209 $ $Date$
+ */
+public class Entry
+ implements java.io.Serializable
+{
+
+ //--------------------------/
+ //- Class/Member Variables -/
+ //--------------------------/
+
+ /**
+ * Field committedRevision
+ */
+ private int committedRevision = 0;
+
+ /**
+ * Field name
+ */
+ private String name;
+
+ /**
+ * Field committedDate
+ */
+ private String committedDate;
+
+ /**
+ * Field url
+ */
+ private String url;
+
+ /**
+ * Field lastAuthor
+ */
+ private String lastAuthor;
+
+ /**
+ * Field kind
+ */
+ private String kind;
+
+ /**
+ * Field uuid
+ */
+ private String uuid;
+
+ /**
+ * Field propertyTime
+ */
+ private String propertyTime;
+
+ /**
+ * Field revision
+ */
+ private int revision = 0;
+
+ /**
+ * Field textTime
+ */
+ private String textTime;
+
+ /**
+ * Field checksum
+ */
+ private String checksum;
+
+ //-----------/
+ //- Methods -/
+ //-----------/
+
+ /**
+ * Method getChecksum
+ */
+ public String getChecksum()
+ {
+ return this.checksum;
+ } //-- String getChecksum()
+
+ /**
+ * Method getCommittedDate
+ */
+ public String getCommittedDate()
+ {
+ return this.committedDate;
+ } //-- String getCommittedDate()
+
+ /**
+ * Method getCommittedRevision
+ */
+ public int getCommittedRevision()
+ {
+ return this.committedRevision;
+ } //-- int getCommittedRevision()
+
+ /**
+ * Method getKind
+ */
+ public String getKind()
+ {
+ return this.kind;
+ } //-- String getKind()
+
+ /**
+ * Method getLastAuthor
+ */
+ public String getLastAuthor()
+ {
+ return this.lastAuthor;
+ } //-- String getLastAuthor()
+
+ /**
+ * Method getName
+ */
+ public String getName()
+ {
+ return this.name;
+ } //-- String getName()
+
+ /**
+ * Method getPropertyTime
+ */
+ public String getPropertyTime()
+ {
+ return this.propertyTime;
+ } //-- String getPropertyTime()
+
+ /**
+ * Method getRevision
+ */
+ public int getRevision()
+ {
+ return this.revision;
+ } //-- int getRevision()
+
+ /**
+ * Method getTextTime
+ */
+ public String getTextTime()
+ {
+ return this.textTime;
+ } //-- String getTextTime()
+
+ /**
+ * Method getUrl
+ */
+ public String getUrl()
+ {
+ return this.url;
+ } //-- String getUrl()
+
+ /**
+ * Method getUuid
+ */
+ public String getUuid()
+ {
+ return this.uuid;
+ } //-- String getUuid()
+
+ /**
+ * Method setChecksum
+ *
+ * @param checksum
+ */
+ public void setChecksum( String checksum )
+ {
+ this.checksum = checksum;
+ } //-- void setChecksum(String)
+
+ /**
+ * Method setCommittedDate
+ *
+ * @param committedDate
+ */
+ public void setCommittedDate( String committedDate )
+ {
+ this.committedDate = committedDate;
+ } //-- void setCommittedDate(String)
+
+ /**
+ * Method setCommittedRevision
+ *
+ * @param committedRevision
+ */
+ public void setCommittedRevision( int committedRevision )
+ {
+ this.committedRevision = committedRevision;
+ } //-- void setCommittedRevision(int)
+
+ /**
+ * Method setKind
+ *
+ * @param kind
+ */
+ public void setKind( String kind )
+ {
+ this.kind = kind;
+ } //-- void setKind(String)
+
+ /**
+ * Method setLastAuthor
+ *
+ * @param lastAuthor
+ */
+ public void setLastAuthor( String lastAuthor )
+ {
+ this.lastAuthor = lastAuthor;
+ } //-- void setLastAuthor(String)
+
+ /**
+ * Method setName
+ *
+ * @param name
+ */
+ public void setName( String name )
+ {
+ this.name = name;
+ } //-- void setName(String)
+
+ /**
+ * Method setPropertyTime
+ *
+ * @param propertyTime
+ */
+ public void setPropertyTime( String propertyTime )
+ {
+ this.propertyTime = propertyTime;
+ } //-- void setPropertyTime(String)
+
+ /**
+ * Method setRevision
+ *
+ * @param revision
+ */
+ public void setRevision( int revision )
+ {
+ this.revision = revision;
+ } //-- void setRevision(int)
+
+ /**
+ * Method setTextTime
+ *
+ * @param textTime
+ */
+ public void setTextTime( String textTime )
+ {
+ this.textTime = textTime;
+ } //-- void setTextTime(String)
+
+ /**
+ * Method setUrl
+ *
+ * @param url
+ */
+ public void setUrl( String url )
+ {
+ this.url = url;
+ } //-- void setUrl(String)
+
+ /**
+ * Method setUuid
+ *
+ * @param uuid
+ */
+ public void setUuid( String uuid )
+ {
+ this.uuid = uuid;
+ } //-- void setUuid(String)
+
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/Entry.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java Sun Feb 26 03:16:52 2006
@@ -0,0 +1,66 @@
+package org.apache.maven.scm.provider.svn.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.providers.svn.settings.Settings;
+import org.apache.maven.scm.providers.svn.settings.io.xpp3.SvnXpp3Reader;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class SvnUtil
+{
+ private SvnUtil()
+ {
+ }
+
+ public static Settings getSettings()
+ {
+ File scmUserDir = new File( System.getProperty( "user.dir" ), ".scm" );
+ File settingsFile = new File( scmUserDir, "svn-settings.xml" );
+
+ if ( settingsFile.exists() )
+ {
+ SvnXpp3Reader reader = new SvnXpp3Reader();
+ try
+ {
+ return reader.read( new FileReader( settingsFile ) );
+ }
+ catch ( FileNotFoundException e )
+ {
+ }
+ catch ( IOException e )
+ {
+ }
+ catch ( XmlPullParserException e )
+ {
+ String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
+
+ System.out.println( message );
+ }
+ }
+
+ return new Settings();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo?rev=381077&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo Sun Feb 26 03:16:52 2006
@@ -0,0 +1,28 @@
+<model>
+ <id>svn</id>
+ <name>Svn</name>
+ <description>SVN Provider Model.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.scm.providers.svn.settings</value>
+ </default>
+ </defaults>
+
+ <classes>
+ <class rootElement="true" xml.tagName="svn-settings">
+ <name>Settings</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field>
+ <name>configDirectory</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description><![CDATA[
+ Instructs Subversion to read configuration information from the specified directory instead of the default location.
+ ]]></description>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>