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 2007/04/02 22:02:50 UTC
svn commit: r524909 [1/4] - in /maven/scm/trunk:
maven-scm-api/src/main/java/org/apache/maven/scm/
maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/
maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/
maven-scm-api/src/m...
Author: evenisse
Date: Mon Apr 2 13:02:44 2007
New Revision: 524909
URL: http://svn.apache.org/viewvc?view=rev&rev=524909
Log:
[SCM-21] Separate revision/branch/tag handling
Each method get now a ScmVersion that can be a ScmRevision, ScmBranch or ScmTag, so the developer provider can now do different statement based on this scmVersion.
Added:
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java (with props)
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java (with props)
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java (with props)
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java (with props)
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java (with props)
Modified:
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
maven/scm/trunk/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ChangeLogMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ExportMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/ListMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java
maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateSubprojectsMojo.java
maven/scm/trunk/maven-scm-plugin/src/test/resources/mojos/tag/checkout.xml
maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkin/BazaarCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/diff/BazaarDiffCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/update/BazaarUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/update/ClearCaseUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/changelog/ClearCaseChangeLogCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommandTckTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/test/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommandTckTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/update/PerforceUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkin/StarteamCheckInCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/changelog/SynergyChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkin/SynergyCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/update/SynergyUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyCCM.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/util/SynergyUtil.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/update/VssUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/AbstractCvsChangeLogCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkin/AbstractCvsCheckInCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/AbstractCvsCheckOutCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/diff/AbstractCvsDiffCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/export/AbstractCvsExportCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/AbstractCvsListCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/AbstractCvsUpdateCommand.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java
maven/scm/trunk/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java
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
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
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
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
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
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
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/export/SvnExeExportCommand.java
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/list/SvnListCommand.java
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
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
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
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
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/list/SvnListCommandTest.java
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
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/changelog/ChangeLogCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/list/ListCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java
Added: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java?view=auto&rev=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java (added)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java Mon Apr 2 13:02:44 2007
@@ -0,0 +1,57 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public abstract class AbstractScmVersion
+ implements ScmVersion
+{
+ private String name;
+
+ public AbstractScmVersion( String name )
+ {
+ setName( name );
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName( String name )
+ {
+ if ( name != null )
+ {
+ name = name.trim();
+ }
+ this.name = name;
+ }
+
+ /**
+ * @return the version name
+ */
+ public String toString()
+ {
+ return getName();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/AbstractScmVersion.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java Mon Apr 2 13:02:44 2007
@@ -41,21 +41,19 @@
public final static CommandParameter BRANCH = new CommandParameter( "branch" );
- public final static CommandParameter START_TAG = new CommandParameter( "startTag" );
+ public final static CommandParameter START_SCM_VERSION = new CommandParameter( "startScmVersion" );
- public final static CommandParameter END_TAG = new CommandParameter( "endTag" );
+ public final static CommandParameter END_SCM_VERSION = new CommandParameter( "endScmVersion" );
public final static CommandParameter CHANGELOG_DATE_PATTERN = new CommandParameter( "changelogDatePattern" );
- public final static CommandParameter TAG = new CommandParameter( "tag" );
+ public final static CommandParameter SCM_VERSION = new CommandParameter( "scmVersion" );
+
+ public final static CommandParameter TAG_NAME = new CommandParameter( "tagName" );
public final static CommandParameter FILE = new CommandParameter( "file" );
public final static CommandParameter FILES = new CommandParameter( "files" );
-
- public final static CommandParameter START_REVISION = new CommandParameter( "startRevision" );
-
- public final static CommandParameter END_REVISION = new CommandParameter( "endRevision" );
public final static CommandParameter OUTPUT_FILE = new CommandParameter( "outputFile" );
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java Mon Apr 2 13:02:44 2007
@@ -111,7 +111,7 @@
* Return the parameter value as int or the default value if it doesn't exist.
*
* @param parameter The parameter
- * @return The parameter value as a String
+ * @return The parameter value as a int
* @throws ScmException if the value is in the wrong type
*/
public int getInt( CommandParameter parameter, int defaultValue )
@@ -148,7 +148,7 @@
* Return the parameter value as Date.
*
* @param parameter The parameter
- * @return The parameter value as a String
+ * @return The parameter value as a Date
* @throws ScmException if the parameter doesn't exist
*/
public Date getDate( CommandParameter parameter )
@@ -161,7 +161,7 @@
* Return the parameter value as String or the default value if it doesn't exist.
*
* @param parameter The parameter
- * @return The parameter value as a String
+ * @return The parameter value as a Date
* @throws ScmException if the value is in the wrong type
*/
public Date getDate( CommandParameter parameter, Date defaultValue )
@@ -198,6 +198,50 @@
throws ScmException
{
return Boolean.valueOf( getString( parameter ) ).booleanValue();
+ }
+
+ // ----------------------------------------------------------------------
+ // ScmVersion
+ // ----------------------------------------------------------------------
+
+ /**
+ * Return the parameter value as ScmVersion.
+ *
+ * @param parameter The parameter
+ * @return The parameter value as a ScmVersion
+ * @throws ScmException if the parameter doesn't exist
+ */
+ public ScmVersion getScmVersion( CommandParameter parameter )
+ throws ScmException
+ {
+ return (ScmVersion) getObject( ScmVersion.class, parameter );
+ }
+
+ /**
+ * Return the parameter value as ScmVersion or the default value.
+ *
+ * @param parameter The parameter
+ * @param defaultValue The default value
+ * @return The parameter value as a ScmVersion
+ * @throws ScmException if the parameter doesn't exist
+ */
+ public ScmVersion getScmVersion( CommandParameter parameter, ScmVersion defaultValue )
+ throws ScmException
+ {
+ return (ScmVersion) getObject( ScmVersion.class, parameter, defaultValue );
+ }
+
+ /**
+ * Set a parameter value.
+ *
+ * @param parameter The parameter name
+ * @param scmVersion The tbranch/tag/revision
+ * @throws ScmException if the parameter already exist
+ */
+ public void setScmVersion( CommandParameter parameter, ScmVersion scmVersion )
+ throws ScmException
+ {
+ setObject( parameter, scmVersion );
}
// ----------------------------------------------------------------------
Added: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java?view=auto&rev=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java (added)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java Mon Apr 2 13:02:44 2007
@@ -0,0 +1,38 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class ScmBranch
+ extends AbstractScmVersion
+{
+ public String getType()
+ {
+ return "Branch";
+ }
+
+ public ScmBranch( String name )
+ {
+ super( name );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranch.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java?view=auto&rev=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java (added)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java Mon Apr 2 13:02:44 2007
@@ -0,0 +1,38 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class ScmRevision
+ extends AbstractScmVersion
+{
+ public String getType()
+ {
+ return "Revision";
+ }
+
+ public ScmRevision( String name )
+ {
+ super( name );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmRevision.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java?view=auto&rev=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java (added)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java Mon Apr 2 13:02:44 2007
@@ -0,0 +1,38 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class ScmTag
+ extends ScmBranch
+{
+ public String getType()
+ {
+ return "Tag";
+ }
+
+ public ScmTag( String name )
+ {
+ super( name );
+ }
+}
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTag.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java?view=auto&rev=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java (added)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java Mon Apr 2 13:02:44 2007
@@ -0,0 +1,33 @@
+package org.apache.maven.scm;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.
+ */
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public interface ScmVersion
+{
+ String getType();
+
+ String getName();
+
+ void setName( String name );
+}
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/ScmVersion.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java Mon Apr 2 13:02:44 2007
@@ -21,9 +21,11 @@
import org.apache.maven.scm.CommandParameter;
import org.apache.maven.scm.CommandParameters;
+import org.apache.maven.scm.ScmBranch;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
import org.codehaus.plexus.util.StringUtils;
@@ -39,12 +41,13 @@
implements ChangeLogCommand
{
protected abstract ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- Date startDate, Date endDate, String branch,
+ Date startDate, Date endDate, ScmBranch branch,
String datePattern )
throws ScmException;
protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String startTag, String endTag, String datePattern )
+ ScmVersion startVersion, ScmVersion endVersion,
+ String datePattern )
throws ScmException
{
throw new ScmException( "Unsupported method for this provider." );
@@ -60,17 +63,17 @@
int numDays = parameters.getInt( CommandParameter.NUM_DAYS, 0 );
- String branch = parameters.getString( CommandParameter.BRANCH, null );
+ ScmBranch branch = (ScmBranch) parameters.getScmVersion( CommandParameter.BRANCH, null );
- String startTag = parameters.getString( CommandParameter.START_TAG, null );
+ ScmVersion startVersion = parameters.getScmVersion( CommandParameter.START_SCM_VERSION, null );
- String endTag = parameters.getString( CommandParameter.END_TAG, null );
+ ScmVersion endVersion = parameters.getScmVersion( CommandParameter.END_SCM_VERSION, null );
String datePattern = parameters.getString( CommandParameter.CHANGELOG_DATE_PATTERN, null );
- if ( !StringUtils.isEmpty( startTag ) )
+ if ( startVersion != null && StringUtils.isNotEmpty( startVersion.getName() ) )
{
- return executeChangeLogCommand( repository, fileSet, startTag, endTag, datePattern );
+ return executeChangeLogCommand( repository, fileSet, startVersion, endVersion, datePattern );
}
else
{
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkin/AbstractCheckInCommand.java Mon Apr 2 13:02:44 2007
@@ -24,6 +24,7 @@
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -38,7 +39,7 @@
public final static String NAME = "check-in";
protected abstract CheckInScmResult executeCheckInCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String message, String tag )
+ String message, ScmVersion scmVersion )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
@@ -47,8 +48,8 @@
{
String message = parameters.getString( CommandParameter.MESSAGE );
- String tag = parameters.getString( CommandParameter.TAG, null );
+ ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
- return executeCheckInCommand( repository, fileSet, message, tag );
+ return executeCheckInCommand( repository, fileSet, message, scmVersion );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java Mon Apr 2 13:02:44 2007
@@ -24,6 +24,7 @@
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -36,15 +37,15 @@
extends AbstractCommand
{
protected abstract CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String tag )
+ ScmVersion scmVersion )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
throws ScmException
{
- String tag = parameters.getString( CommandParameter.TAG, null );
+ ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
- return executeCheckOutCommand( repository, fileSet, tag );
+ return executeCheckOutCommand( repository, fileSet, scmVersion );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/diff/AbstractDiffCommand.java Mon Apr 2 13:02:44 2007
@@ -24,6 +24,7 @@
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -41,16 +42,16 @@
extends AbstractCommand
{
protected abstract DiffScmResult executeDiffCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String startRevision, String endRevision )
+ ScmVersion startRevision, ScmVersion endRevision )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
throws ScmException
{
- String startRevision = parameters.getString( CommandParameter.START_REVISION, null );
+ ScmVersion startRevision = parameters.getScmVersion( CommandParameter.START_SCM_VERSION, null );
- String endRevision = parameters.getString( CommandParameter.END_REVISION, null );
+ ScmVersion endRevision = parameters.getScmVersion( CommandParameter.END_SCM_VERSION, null );
return executeDiffCommand( repository, fileSet, startRevision, endRevision );
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/export/AbstractExportCommand.java Mon Apr 2 13:02:44 2007
@@ -24,6 +24,7 @@
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -35,17 +36,17 @@
extends AbstractCommand
{
protected abstract ExportScmResult executeExportCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String tag, String outputDirectory )
+ ScmVersion scmVersion, String outputDirectory )
throws ScmException;
protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
throws ScmException
{
- String tag = parameters.getString( CommandParameter.TAG, null );
+ ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
String outputDirectory = parameters.getString( CommandParameter.OUTPUT_DIRECTORY, null );
- return executeExportCommand( repository, fileSet, tag, outputDirectory );
+ return executeExportCommand( repository, fileSet, scmVersion, outputDirectory );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/list/AbstractListCommand.java Mon Apr 2 13:02:44 2007
@@ -24,6 +24,7 @@
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.provider.ScmProviderRepository;
@@ -44,7 +45,7 @@
* @throws ScmException
*/
protected abstract ListScmResult executeListCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- boolean recursive, String tag )
+ boolean recursive, ScmVersion scmVersion )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
@@ -58,8 +59,8 @@
boolean recursive = parameters.getBoolean( CommandParameter.RECURSIVE );
- String tag = parameters.getString( CommandParameter.TAG, null );
+ ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
- return executeListCommand( repository, fileSet, recursive, tag );
+ return executeListCommand( repository, fileSet, recursive, scmVersion );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/tag/AbstractTagCommand.java Mon Apr 2 13:02:44 2007
@@ -35,15 +35,16 @@
public abstract class AbstractTagCommand
extends AbstractCommand
{
- protected abstract ScmResult executeTagCommand( ScmProviderRepository repository, ScmFileSet fileSet, String tag )
+ protected abstract ScmResult executeTagCommand( ScmProviderRepository repository, ScmFileSet fileSet,
+ String tagName )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
throws ScmException
{
- String tag = parameters.getString( CommandParameter.TAG );
+ String tagName = parameters.getString( CommandParameter.TAG_NAME );
- return executeTagCommand( repository, fileSet, tag );
+ return executeTagCommand( repository, fileSet, tagName );
}
}
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/command/update/AbstractUpdateCommand.java Mon Apr 2 13:02:44 2007
@@ -26,6 +26,7 @@
import org.apache.maven.scm.ScmFile;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.AbstractCommand;
import org.apache.maven.scm.command.changelog.ChangeLogCommand;
import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
@@ -46,19 +47,19 @@
extends AbstractCommand
{
protected abstract UpdateScmResult executeUpdateCommand( ScmProviderRepository repository, ScmFileSet fileSet,
- String tag )
+ ScmVersion scmVersion )
throws ScmException;
public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
CommandParameters parameters )
throws ScmException
{
- String tag = parameters.getString( CommandParameter.TAG, null );
+ ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null );
boolean runChangelog = Boolean.valueOf(
parameters.getString( CommandParameter.RUN_CHANGELOG_WITH_UPDATE, "true" ) ).booleanValue();
- UpdateScmResult updateScmResult = executeUpdateCommand( repository, fileSet, tag );
+ UpdateScmResult updateScmResult = executeUpdateCommand( repository, fileSet, scmVersion );
List filesList = updateScmResult.getUpdatedFiles();
Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java?view=diff&rev=524909&r1=524908&r2=524909
==============================================================================
--- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java (original)
+++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java Mon Apr 2 13:02:44 2007
@@ -22,8 +22,11 @@
import org.apache.maven.scm.CommandParameter;
import org.apache.maven.scm.CommandParameters;
import org.apache.maven.scm.NoSuchCommandScmException;
+import org.apache.maven.scm.ScmBranch;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmRevision;
+import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.add.AddScmResult;
import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
import org.apache.maven.scm.command.checkin.CheckInScmResult;
@@ -70,8 +73,8 @@
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#sanitizeTagName(java.lang.String)
- */
+ * @see org.apache.maven.scm.provider.ScmProvider#sanitizeTagName(java.lang.String)
+ */
public String sanitizeTagName( String tag )
{
/* by default, we assume all tags are valid. */
@@ -79,8 +82,8 @@
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#validateTagName(java.lang.String)
- */
+ * @see org.apache.maven.scm.provider.ScmProvider#validateTagName(java.lang.String)
+ */
public boolean validateTagName( String tag )
{
/* by default, we assume all tags are valid. */
@@ -149,6 +152,7 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,java.lang.String)
+ * @deprecated
*/
public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
int numDays, String branch )
@@ -159,11 +163,39 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,java.lang.String,java.lang.String)
+ * @deprecated
*/
public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
int numDays, String branch, String datePattern )
throws ScmException
{
+ ScmBranch scmBranch = null;
+
+ if ( StringUtils.isNotEmpty( branch ) )
+ {
+ scmBranch = new ScmBranch( branch );
+ }
+ return changeLog( repository, fileSet, startDate, endDate, numDays, scmBranch, null );
+
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,ScmBranch)
+ */
+ public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
+ int numDays, ScmBranch branch )
+ throws ScmException
+ {
+ return changeLog( repository, fileSet, startDate, endDate, numDays, branch, null );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.util.Date,java.util.Date,int,ScmBranch,String)
+ */
+ public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate,
+ int numDays, ScmBranch branch, String datePattern )
+ throws ScmException
+ {
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
@@ -174,7 +206,7 @@
parameters.setInt( CommandParameter.NUM_DAYS, numDays );
- parameters.setString( CommandParameter.BRANCH, branch );
+ parameters.setScmVersion( CommandParameter.BRANCH, branch );
parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
@@ -183,6 +215,7 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @deprecated
*/
public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag )
throws ScmException
@@ -192,18 +225,52 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String,java.lang.String)
+ * @deprecated
*/
public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, String startTag, String endTag,
String datePattern )
throws ScmException
{
+ ScmVersion startRevision = null;
+ ScmVersion endRevision = null;
+
+ if ( StringUtils.isNotEmpty( startTag ) )
+ {
+ startRevision = new ScmRevision( startTag );
+ }
+
+ if ( StringUtils.isNotEmpty( endTag ) )
+ {
+ endRevision = new ScmRevision( endTag );
+ }
+
+ return changeLog( repository, fileSet, startRevision, endRevision, null );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion)
+ */
+ public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
+ ScmVersion endVersion )
+ throws ScmException
+ {
+ return changeLog( repository, fileSet, startVersion, endVersion, null );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion,java.lang.String)
+ */
+ public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
+ ScmVersion endVersion, String datePattern )
+ throws ScmException
+ {
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.START_TAG, startTag );
+ parameters.setScmVersion( CommandParameter.START_SCM_VERSION, startVersion );
- parameters.setString( CommandParameter.END_TAG, endTag );
+ parameters.setScmVersion( CommandParameter.END_SCM_VERSION, endVersion );
parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
@@ -218,15 +285,33 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @deprecated
*/
public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message )
throws ScmException
{
+ ScmVersion scmVersion = null;
+
+ if ( StringUtils.isNotEmpty( tag ) )
+ {
+ scmVersion = new ScmBranch( tag );
+ }
+
+ return checkIn( repository, fileSet, scmVersion, message );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.lang.String)
+ */
+ public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ String message )
+ throws ScmException
+ {
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.TAG, tag );
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
parameters.setString( CommandParameter.MESSAGE, message );
@@ -241,6 +326,7 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+ * @deprecated
*/
public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag )
throws ScmException
@@ -248,14 +334,44 @@
return checkOut( repository, fileSet, tag, true );
}
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
+ * @deprecated
+ */
public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag, boolean recursive )
throws ScmException
{
+ ScmVersion scmVersion = null;
+
+ if ( StringUtils.isNotEmpty( tag ) )
+ {
+ scmVersion = new ScmRevision( tag );
+ }
+
+ return checkOut( repository, fileSet, scmVersion, recursive );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+ */
+ public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
+ throws ScmException
+ {
+ return checkOut( repository, fileSet, scmVersion, true );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
+ */
+ public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ boolean recursive )
+ throws ScmException
+ {
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.TAG, tag );
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
parameters.setString( CommandParameter.RECURSIVE, recursive + "" );
@@ -268,20 +384,122 @@
throw new NoSuchCommandScmException( "checkout" );
}
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @deprecated
+ */
+ public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
+ throws ScmException
+ {
+ ScmVersion startVersion = null;
+ ScmVersion endVersion = null;
+
+ if ( StringUtils.isNotEmpty( startRevision ) )
+ {
+ startVersion = new ScmRevision( startRevision );
+ }
+
+ if ( StringUtils.isNotEmpty( endRevision ) )
+ {
+ endVersion = new ScmRevision( endRevision );
+ }
+
+ return diff( repository, fileSet, startVersion, endVersion );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,ScmVersion)
+ */
+ public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, ScmVersion startVersion,
+ ScmVersion endVersion )
+ throws ScmException
+ {
+ login( repository, fileSet );
+
+ CommandParameters parameters = new CommandParameters();
+
+ parameters.setScmVersion( CommandParameter.START_SCM_VERSION, startVersion );
+
+ parameters.setScmVersion( CommandParameter.END_SCM_VERSION, endVersion );
+
+ return diff( repository, fileSet, parameters );
+ }
+
+ protected DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ throw new NoSuchCommandScmException( "diff" );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#edit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
+ */
+ public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
+ throws ScmException
+ {
+ login( repository, fileSet );
+
+ CommandParameters parameters = new CommandParameters();
+
+ return edit( repository, fileSet, parameters );
+ }
+
+ protected EditScmResult edit( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ this.getLogger().warn( "Provider " + repository.getProvider() + " does not support edit operation." );
+
+ return new EditScmResult( "", null, null, true );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+ * @deprecated
+ */
public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag )
throws ScmException
{
return export( repository, fileSet, tag, null );
}
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,String)
+ * @deprecated
+ */
public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, String tag, String outputDirectory )
throws ScmException
{
+ ScmVersion scmVersion = null;
+
+ if ( StringUtils.isNotEmpty( tag ) )
+ {
+ scmVersion = new ScmRevision( tag );
+ }
+
+ return export( repository, fileSet, scmVersion, outputDirectory );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion)
+ */
+ public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
+ throws ScmException
+ {
+ return export( repository, fileSet, scmVersion, null );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#export(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,String)
+ */
+ public ExportScmResult export( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ String outputDirectory )
+ throws ScmException
+ {
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.TAG, tag );
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
parameters.setString( CommandParameter.OUTPUT_DIRECTORY, outputDirectory );
@@ -295,26 +513,55 @@
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @see org.apache.maven.scm.provider.ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean,String)
*/
- public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision )
+ public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
+ throws ScmException
+ {
+ ScmVersion scmVersion = null;
+
+ if ( StringUtils.isNotEmpty( tag ) )
+ {
+ scmVersion = new ScmRevision( tag );
+ }
+
+ return list( repository, fileSet, recursive, scmVersion );
+ }
+
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#list(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,boolean,org.apache.maven.scm.ScmVersion)
+ */
+ public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, ScmVersion scmVersion )
throws ScmException
{
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.START_REVISION, startRevision );
+ parameters.setString( CommandParameter.RECURSIVE, Boolean.toString( recursive ) );
- parameters.setString( CommandParameter.END_REVISION, endRevision );
+ if ( scmVersion != null )
+ {
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
+ }
- return diff( repository, fileSet, parameters );
+ return list( repository, fileSet, parameters );
}
- protected DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ /**
+ * List each element (files and directories) of <B>fileSet</B> as they exist in the repository.
+ *
+ * @param repository the source control system
+ * @param fileSet the files to list
+ * @param parameters
+ * @return The list of files in the repository
+ * @throws NoSuchCommandScmException unless overriden by subclass
+ * @throws ScmException
+ */
+ protected ListScmResult list( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
throws ScmException
{
- throw new NoSuchCommandScmException( "diff" );
+ throw new NoSuchCommandScmException( "list" );
}
private void login( ScmRepository repository, ScmFileSet fileSet )
@@ -377,14 +624,14 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#tag(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
*/
- public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag )
+ public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tagName )
throws ScmException
{
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.TAG, tag );
+ parameters.setString( CommandParameter.TAG_NAME, tagName );
return tag( repository, fileSet, parameters );
}
@@ -396,7 +643,29 @@
}
/**
+ * @see org.apache.maven.scm.provider.ScmProvider#unedit(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet)
+ */
+ public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
+ throws ScmException
+ {
+ login( repository, fileSet );
+
+ CommandParameters parameters = new CommandParameters();
+
+ return unedit( repository, fileSet, parameters );
+ }
+
+ protected UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ this.getLogger().warn( "Provider " + repository.getProvider() + " does not support unedit operation." );
+
+ return new UnEditScmResult( "", null, null, true );
+ }
+
+ /**
* @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String)
+ * @deprecated
*/
public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag )
throws ScmException
@@ -406,6 +675,7 @@
/**
* @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,boolean)
+ * @deprecated
*/
public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, boolean runChangelog )
throws ScmException
@@ -414,154 +684,145 @@
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion)
*/
- public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion )
throws ScmException
{
- return update( repository, fileSet, tag, datePattern, true );
+ return update( repository, fileSet, scmVersion, true );
}
- private UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern,
- boolean runChangelog )
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,boolean)
+ */
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ boolean runChangelog )
throws ScmException
{
- login( repository, fileSet );
-
- CommandParameters parameters = new CommandParameters();
-
- parameters.setString( CommandParameter.TAG, tag );
-
- parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
-
- parameters.setString( CommandParameter.RUN_CHANGELOG_WITH_UPDATE, String.valueOf( runChangelog ) );
-
- return update( repository, fileSet, parameters );
+ return update( repository, fileSet, scmVersion, "", runChangelog );
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date)
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.lang.String)
+ * @deprecated
*/
- public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern )
throws ScmException
{
- return update( repository, fileSet, tag, lastUpdate, null );
+ return update( repository, fileSet, tag, datePattern, true );
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date,java.lang.String)
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.lang.String)
*/
- public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
String datePattern )
throws ScmException
{
- return update( repository, fileSet, tag, lastUpdate, datePattern, true );
+ return update( repository, fileSet, scmVersion, datePattern, true );
}
/**
- * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date,java.lang.String,boolean)
+ * @deprecated
*/
- public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
- String datePattern, boolean runChangelog )
+ private UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, String datePattern,
+ boolean runChangelog )
throws ScmException
{
- login( repository, fileSet );
+ ScmBranch scmBranch = null;
- CommandParameters parameters = new CommandParameters();
-
- parameters.setString( CommandParameter.TAG, tag );
-
- if ( lastUpdate != null )
+ if ( StringUtils.isNotEmpty( tag ) )
{
- parameters.setDate( CommandParameter.START_DATE, lastUpdate );
+ scmBranch = new ScmBranch( tag );
}
- parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
-
- parameters.setString( CommandParameter.RUN_CHANGELOG_WITH_UPDATE, String.valueOf( runChangelog ) );
-
- return update( repository, fileSet, parameters );
- }
-
- protected UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
- throws ScmException
- {
- throw new NoSuchCommandScmException( "update" );
+ return update( repository, fileSet, scmBranch, datePattern, runChangelog );
}
- public EditScmResult edit( ScmRepository repository, ScmFileSet fileSet )
+ private UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ String datePattern, boolean runChangelog )
throws ScmException
{
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- return edit( repository, fileSet, parameters );
- }
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
- protected EditScmResult edit( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
- throws ScmException
- {
- this.getLogger().warn( "Provider " + repository.getProvider() + " does not support edit operation." );
+ parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
- return new EditScmResult( "", null, null, true );
+ parameters.setString( CommandParameter.RUN_CHANGELOG_WITH_UPDATE, String.valueOf( runChangelog ) );
+
+ return update( repository, fileSet, parameters );
}
- public UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet )
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date)
+ * @deprecated
+ */
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate )
throws ScmException
{
- login( repository, fileSet );
-
- CommandParameters parameters = new CommandParameters();
-
- return unedit( repository, fileSet, parameters );
+ return update( repository, fileSet, tag, lastUpdate, null );
}
- protected UnEditScmResult unedit( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ /**
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.util.Date)
+ */
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion,
+ Date lastUpdate )
throws ScmException
{
- this.getLogger().warn( "Provider " + repository.getProvider() + " does not support unedit operation." );
-
- return new UnEditScmResult( "", null, null, true );
+ return update( repository, fileSet, scmVersion, lastUpdate, null );
}
/**
- * List each element (files and directories) of <B>fileSet</B> as they exist in the repository.
- *
- * @param repository the source control system
- * @param fileSet the files to list
- * @param parameters
- * @return The list of files in the repository
- * @throws NoSuchCommandScmException unless overriden by subclass
- * @throws ScmException
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,java.lang.String,java.util.Date,java.lang.String)
+ * @deprecated
*/
- protected ListScmResult list( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag, Date lastUpdate,
+ String datePattern )
throws ScmException
{
- throw new NoSuchCommandScmException( "list" );
+ ScmBranch scmBranch = null;
+
+ if ( StringUtils.isNotEmpty( tag ) )
+ {
+ scmBranch = new ScmBranch( tag );
+ }
+
+ return update( repository, fileSet, scmBranch, lastUpdate, datePattern );
}
/**
- * Calls {@link #list(ScmRepository,ScmFileSet,CommandParameters)} setting the {@link CommandParameters} with
- * the necessary values from <code>recursive</code> and <code>tag</code>.
- *
- * @see #list(ScmRepository,ScmFileSet,CommandParameters)
+ * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven.scm.repository.ScmRepository,org.apache.maven.scm.ScmFileSet,ScmVersion,java.util.Date,java.lang.String)
*/
- public ListScmResult list( ScmRepository repository, ScmFileSet fileSet, boolean recursive, String tag )
+ public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, Date lastUpdate,
+ String datePattern )
throws ScmException
{
login( repository, fileSet );
CommandParameters parameters = new CommandParameters();
- parameters.setString( CommandParameter.RECURSIVE, Boolean.toString( recursive ) );
+ parameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
- if ( StringUtils.isNotEmpty( tag ) )
+ if ( lastUpdate != null )
{
- parameters.setString( CommandParameter.TAG, tag );
+ parameters.setDate( CommandParameter.START_DATE, lastUpdate );
}
- return list( repository, fileSet, parameters );
+ parameters.setString( CommandParameter.CHANGELOG_DATE_PATTERN, datePattern );
+
+ parameters.setString( CommandParameter.RUN_CHANGELOG_WITH_UPDATE, "true" );
+
+ return update( repository, fileSet, parameters );
+ }
+
+ protected UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters )
+ throws ScmException
+ {
+ throw new NoSuchCommandScmException( "update" );
}
// ----------------------------------------------------------------------