diff -Nru maven-scm-1.9.5/debian/changelog maven-scm-1.11.1/debian/changelog --- maven-scm-1.9.5/debian/changelog 2017-07-26 13:15:10.000000000 +0000 +++ maven-scm-1.11.1/debian/changelog 2018-11-25 23:36:16.000000000 +0000 @@ -1,3 +1,14 @@ +maven-scm (1.11.1-1) unstable; urgency=medium + + * Team upload. + * New upstream release + - Refreshed the patch + * Standards-Version updated to 4.2.1 + * Switch to debhelper level 11 + * Use salsa.debian.org Vcs-* URLs + + -- Emmanuel Bourg Mon, 26 Nov 2018 00:36:16 +0100 + maven-scm (1.9.5-1) unstable; urgency=medium * Team upload. diff -Nru maven-scm-1.9.5/debian/compat maven-scm-1.11.1/debian/compat --- maven-scm-1.9.5/debian/compat 2017-07-26 11:06:07.000000000 +0000 +++ maven-scm-1.11.1/debian/compat 2018-11-25 23:07:03.000000000 +0000 @@ -1 +1 @@ -10 +11 diff -Nru maven-scm-1.9.5/debian/control maven-scm-1.11.1/debian/control --- maven-scm-1.9.5/debian/control 2017-07-26 13:14:13.000000000 +0000 +++ maven-scm-1.11.1/debian/control 2018-11-25 23:07:03.000000000 +0000 @@ -4,7 +4,7 @@ Maintainer: Debian Java Maintainers Uploaders: Ludovic Claude Build-Depends: - debhelper (>= 10), + debhelper (>= 11), default-jdk, default-jdk-doc, junit4, @@ -19,9 +19,9 @@ libplexus-utils2-java, maven-debian-helper (>= 1.4), subversion -Standards-Version: 4.0.0 -Vcs-Git: https://anonscm.debian.org/git/pkg-java/maven-scm.git -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/maven-scm.git +Standards-Version: 4.2.1 +Vcs-Git: https://salsa.debian.org/java-team/maven-scm.git +Vcs-Browser: https://salsa.debian.org/java-team/maven-scm Homepage: http://maven.apache.org/scm/ Package: libmaven-scm-java diff -Nru maven-scm-1.9.5/debian/patches/01-plexus-container-compatibility.patch maven-scm-1.11.1/debian/patches/01-plexus-container-compatibility.patch --- maven-scm-1.9.5/debian/patches/01-plexus-container-compatibility.patch 2017-07-26 13:13:58.000000000 +0000 +++ maven-scm-1.11.1/debian/patches/01-plexus-container-compatibility.patch 2018-11-25 23:07:24.000000000 +0000 @@ -17,7 +17,7 @@ fail( "getModule() must be overridden." ); --- a/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 +++ b/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 -@@ -57,7 +57,7 @@ +@@ -56,7 +56,7 @@ { super.setUp(); diff -Nru maven-scm-1.9.5/debian/rules maven-scm-1.11.1/debian/rules --- maven-scm-1.9.5/debian/rules 2017-07-26 11:06:07.000000000 +0000 +++ maven-scm-1.11.1/debian/rules 2018-11-25 23:07:03.000000000 +0000 @@ -2,6 +2,3 @@ %: dh $@ - -get-orig-source: - uscan --download-current-version --force-download --rename diff -Nru maven-scm-1.9.5/debian/watch maven-scm-1.11.1/debian/watch --- maven-scm-1.9.5/debian/watch 2017-07-26 11:06:07.000000000 +0000 +++ maven-scm-1.11.1/debian/watch 2018-11-25 23:07:03.000000000 +0000 @@ -1,2 +1,3 @@ -version=3 +version=4 +opts="repack,compression=xz" \ https://github.com/apache/maven-scm/releases .*/maven-scm-([\d\.]+).tar.gz diff -Nru maven-scm-1.9.5/.gitattributes maven-scm-1.11.1/.gitattributes --- maven-scm-1.9.5/.gitattributes 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -6,3 +6,4 @@ *.css text *.js text *.sql text + diff -Nru maven-scm-1.9.5/Jenkinsfile maven-scm-1.11.1/Jenkinsfile --- maven-scm-1.9.5/Jenkinsfile 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/Jenkinsfile 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,20 @@ +/** + * 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. + */ + +asfMavenTlpStdBuild() diff -Nru maven-scm-1.9.5/maven-scm-api/pom.xml maven-scm-1.11.1/maven-scm-api/pom.xml --- maven-scm-1.9.5/maven-scm-api/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm - 1.9.5 + 1.11.1 maven-scm-api diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -55,6 +55,14 @@ throw new ScmException( "Unsupported method for this provider." ); } + @Deprecated + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + throw new ScmException( "Unsupported method for this provider." ); + } + /** * {@inheritDoc} */ @@ -76,13 +84,21 @@ ScmBranch branch = (ScmBranch) parameters.getScmVersion( CommandParameter.BRANCH, null ); + ScmVersion version = parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + ScmVersion startVersion = parameters.getScmVersion( CommandParameter.START_SCM_VERSION, null ); ScmVersion endVersion = parameters.getScmVersion( CommandParameter.END_SCM_VERSION, null ); String datePattern = parameters.getString( CommandParameter.CHANGELOG_DATE_PATTERN, null ); - if ( startVersion != null || endVersion != null ) + boolean versionOnly = startVersion == null && endVersion == null && version != null; + + if ( versionOnly ) + { + return executeChangeLogCommand( repository, fileSet, version, datePattern ); + } + else if ( startVersion != null || endVersion != null ) { return executeChangeLogCommand( repository, fileSet, startVersion, endVersion, datePattern ); } diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java 2018-09-11 20:05:31.000000000 +0000 @@ -175,4 +175,15 @@ setEndDate( endDate ); } + public void setRevision( ScmVersion revision ) + throws ScmException + { + parameters.setScmVersion( CommandParameter.SCM_VERSION, revision ); + } + + public ScmVersion getRevision() + throws ScmException + { + return parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + } } diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/command/checkout/AbstractCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -45,13 +45,13 @@ * @param scmVersion not null * @return the checkout result * @throws ScmException if any - * @see #executeCheckOutCommand(ScmProviderRepository, ScmFileSet, ScmVersion, boolean) + * @see #executeCheckOutCommand(ScmProviderRepository, ScmFileSet, ScmVersion, boolean, boolean) */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, ScmVersion scmVersion ) throws ScmException { - return executeCheckOutCommand( repository, fileSet, scmVersion, true ); + return executeCheckOutCommand( repository, fileSet, scmVersion, true, false ); } /** @@ -61,12 +61,14 @@ * @param fileSet not null * @param scmVersion not null * @param recursive true if recursive check out is wanted, false otherwise. + * @param shallow true if shallow check out is wanted, false otherwise. * @return the checkout result * @throws ScmException if any * @since 1.1.1 */ protected abstract CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, - ScmVersion scmVersion, boolean recursive ) + ScmVersion scmVersion, boolean recursive, + boolean shallow ) throws ScmException; /** {@inheritDoc} */ @@ -75,13 +77,8 @@ throws ScmException { ScmVersion scmVersion = parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); - String recursiveParam = parameters.getString( CommandParameter.RECURSIVE, null ); - if ( recursiveParam != null ) - { - boolean recursive = parameters.getBoolean( CommandParameter.RECURSIVE ); - return executeCheckOutCommand( repository, fileSet, scmVersion, recursive ); - } - - return executeCheckOutCommand( repository, fileSet, scmVersion ); + boolean recursive = parameters.getBoolean( CommandParameter.RECURSIVE, true ); + boolean shallow = parameters.getBoolean( CommandParameter.SHALLOW, false ); + return executeCheckOutCommand( repository, fileSet, scmVersion, recursive, shallow ); } } diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameter.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,6 +34,8 @@ public static final CommandParameter RECURSIVE = new CommandParameter( "recursive" ); + public static final CommandParameter SHALLOW = new CommandParameter( "shallow" ); + public static final CommandParameter MESSAGE = new CommandParameter( "message" ); public static final CommandParameter BRANCH_NAME = new CommandParameter( "branchName" ); diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/CommandParameters.java 2018-09-11 20:05:31.000000000 +0000 @@ -394,10 +394,10 @@ /** * Removes a parameter, silent if it didn't exist. * - * @param parameter name of the parameter to remove + * @param parameter to remove */ public void remove( CommandParameter parameter ) { - parameters.remove( parameter ); + parameters.remove( parameter.getName() ); } } diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -167,9 +167,12 @@ { login( repository, fileSet ); - // TODO: binary may be dependant on particular files though - // TODO: set boolean? - parameters.setString( CommandParameter.BINARY, "false" ); + if ( parameters.getString( CommandParameter.BINARY , null ) == null ) + { + // TODO: binary may be dependant on particular files though + // TODO: set boolean? + parameters.setString( CommandParameter.BINARY, "false" ); + } return add( repository.getProviderRepository(), fileSet, parameters ); } @@ -497,6 +500,20 @@ return checkout( repository.getProviderRepository(), fileSet, parameters ); } + @Override + public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, ScmVersion scmVersion, + CommandParameters commandParameters ) + throws ScmException + { + login( repository, fileSet ); + if ( scmVersion != null && commandParameters.getScmVersion( CommandParameter.SCM_VERSION, null ) == null ) + { + commandParameters.setScmVersion( CommandParameter.SCM_VERSION, scmVersion ); + } + + return checkout( repository.getProviderRepository(), fileSet, commandParameters ); + } + protected CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -493,6 +493,22 @@ throws ScmException; /** + * Create a copy of the repository on your local machine. + * + * @param scmRepository the source control system + * @param scmFileSet the files are copied to the {@link org.apache.maven.scm.ScmFileSet#getBasedir()} + * location + * @param version get the version defined by the revision, branch or tag + * @param commandParameters parameters + * @return + * @throws ScmException if any + * @since 1.9.6 + */ + CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version , // + CommandParameters commandParameters ) + throws ScmException; + + /** * Create a diff between two branch/tag/revision. * * @param scmRepository the source control system diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranchParameters.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranchParameters.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranchParameters.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmBranchParameters.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,11 +34,14 @@ private boolean remoteBranching = false; + private boolean pinExternals = false; + private String scmRevision; public ScmBranchParameters() { this.remoteBranching = false; + this.pinExternals = false; } public ScmBranchParameters( String message ) @@ -76,6 +79,16 @@ this.remoteBranching = remoteBranching; } + public boolean isPinExternals() + { + return pinExternals; + } + + public void setPinExternals( boolean pinExternals ) + { + this.pinExternals = pinExternals; + } + public String toString() { return "[" + scmRevision + "] " + message; diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmFileSet.java 2018-09-11 20:05:31.000000000 +0000 @@ -102,8 +102,7 @@ { excludes = DEFAULT_EXCLUDES; } - @SuppressWarnings( "unchecked" ) - List fileList = (List) FileUtils.getFiles( basedir, includes, excludes, false ); + List fileList = FileUtils.getFiles( basedir, includes, excludes, false ); this.files = fileList; this.includes = includes; this.excludes = excludes; diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmResult.java 2018-09-11 20:05:31.000000000 +0000 @@ -44,7 +44,7 @@ public static final String PASSWORD_PLACE_HOLDER = "********"; //works for SVN and git - private Pattern patternForUserColonPasswordAtHost = Pattern.compile( "^.*:(.*)@.*$" ); + private Pattern patternForUserColonPasswordAtHost = Pattern.compile( "^.*:(.*)@.*$", Pattern.DOTALL ); /** * Copy constructor. diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/ScmTagParameters.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,11 +34,17 @@ private boolean remoteTagging = false; + private boolean pinExternals = false; + + private boolean sign = false; + private String scmRevision; public ScmTagParameters() { this.remoteTagging = false; + this.pinExternals = false; + this.sign = false; } public ScmTagParameters( String message ) @@ -66,6 +72,26 @@ this.remoteTagging = remoteTagging; } + public boolean isPinExternals() + { + return pinExternals; + } + + public void setPinExternals( boolean pinExternals ) + { + this.pinExternals = pinExternals; + } + + public boolean isSign() + { + return sign; + } + + public void setSign( boolean sign ) + { + this.sign = sign; + } + public String getScmRevision() { return scmRevision; diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -78,10 +78,20 @@ DateFormat format; String patternUsed = null; - + Locale localeUsed = null; + if ( StringUtils.isNotEmpty( userPattern ) ) { - format = new SimpleDateFormat( userPattern ); + if ( locale != null ) + { + format = new SimpleDateFormat( userPattern, locale ); + localeUsed = locale; + } + else + { + format = new SimpleDateFormat( userPattern ); + localeUsed = Locale.getDefault(); + } patternUsed = userPattern; } else @@ -91,10 +101,12 @@ if ( locale != null ) { format = new SimpleDateFormat( defaultPattern, locale ); + localeUsed = locale; } else { format = new SimpleDateFormat( defaultPattern ); + localeUsed = Locale.getDefault(); } patternUsed = defaultPattern; } @@ -102,8 +114,8 @@ { // Use the English short date pattern if no pattern is specified format = DateFormat.getDateInstance( DateFormat.SHORT, Locale.ENGLISH ); - - patternUsed = " DateFormat.SHORT "; + patternUsed = "DateFormat.SHORT"; + localeUsed = Locale.ENGLISH; } } @@ -116,9 +128,9 @@ if ( getLogger() != null && getLogger().isWarnEnabled() ) { getLogger().warn( - "skip ParseException: " + e.getMessage() + " during parsing date " + date - + " with pattern " + patternUsed + " with Locale " - + ( locale == null ? Locale.ENGLISH : locale ), e ); + "skip ParseException: " + e.getMessage() + " during parsing date '" + date + + "' with pattern '" + patternUsed + "' and locale '" + + localeUsed + "'", e ); } return null; diff -Nru maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/util/ConsumerUtils.java maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/util/ConsumerUtils.java --- maven-scm-1.9.5/maven-scm-api/src/main/java/org/apache/maven/scm/util/ConsumerUtils.java 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/main/java/org/apache/maven/scm/util/ConsumerUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,64 @@ +package org.apache.maven.scm.util; + +/* + * 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. + */ + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + +import org.codehaus.plexus.util.cli.StreamConsumer; + +/** + * @author Davide Angelocola + */ +public class ConsumerUtils +{ + + private ConsumerUtils() + { + } + + /** + * Read file f, sending each line to the consumer. + * + * @param f + * @param consumer + * @throws IOException + */ + public static void consumeFile( File f, StreamConsumer consumer ) throws IOException + { + BufferedReader r = new BufferedReader( new FileReader( f ) ); + + try + { + String line; + while ( ( line = r.readLine() ) != null ) + { + consumer.consumeLine( line ); + } + + } + finally + { + r.close(); + } + } +} diff -Nru maven-scm-1.9.5/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java maven-scm-1.11.1/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java --- maven-scm-1.9.5/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/test/java/org/apache/maven/scm/ChangeFileTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,8 +23,6 @@ /** * @author Emmanuel Venisse - * @version $Id: ChangeLogFileTest.java,v 1.1.1.1 2004/04/20 19:05:52 jvanzyl - * Exp $ */ public class ChangeFileTest extends TestCase diff -Nru maven-scm-1.9.5/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java maven-scm-1.11.1/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java --- maven-scm-1.9.5/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-api/src/test/java/org/apache/maven/scm/ScmResultTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -20,7 +20,6 @@ */ import junit.framework.TestCase; -import org.apache.maven.scm.provider.ScmUrlUtils; public class ScmResultTest extends TestCase @@ -30,14 +29,20 @@ private static final String SCM_URL_GIT_COLON = "scm:git:https://username:" + PASSWORD + "@github.com/username/repo.git"; - private static final String MOCK_ERROR_OUTPUT = "fatal repository " + SCM_URL_GIT_COLON + "does not exist"; + private static final String MOCK_ERROR_OUTPUT = "fatal: repository '" + SCM_URL_GIT_COLON + "' not found"; + + private static final String MOCK_ERROR_MULTILINE_OUTPUT = "remote: Invalid username or password." + System.lineSeparator() + "fatal: Authentication failed for '" + SCM_URL_GIT_COLON + "'"; public void testPasswordsAreMaskedInOutput() throws Exception { ScmResult result = new ScmResult( "git push", "git-push failed", MOCK_ERROR_OUTPUT, false ); - assertNotSame( "Command Output contains password", MOCK_ERROR_OUTPUT, result.getCommandOutput() ); - assertTrue( "Command Output not masked", result.getCommandOutput().contains( ScmResult.PASSWORD_PLACE_HOLDER ) ); + assertNotSame( "Command output contains password", MOCK_ERROR_OUTPUT, result.getCommandOutput() ); + assertTrue( "Command output not masked", result.getCommandOutput().contains( ScmResult.PASSWORD_PLACE_HOLDER ) ); + + result = new ScmResult( "git push", "git-push failed", MOCK_ERROR_MULTILINE_OUTPUT, false ); + assertNotSame( "Command output contains password", MOCK_ERROR_MULTILINE_OUTPUT, result.getCommandOutput() ); + assertTrue( "Command output not masked", result.getCommandOutput().contains( ScmResult.PASSWORD_PLACE_HOLDER ) ); } } diff -Nru maven-scm-1.9.5/maven-scm-client/pom.xml maven-scm-1.11.1/maven-scm-client/pom.xml --- maven-scm-1.9.5/maven-scm-client/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-client/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm - 1.9.5 + 1.11.1 maven-scm-client @@ -127,7 +127,9 @@ org.apache.maven.plugins maven-assembly-plugin - jar-with-dependencies + + jar-with-dependencies + maven-scm-client-${project.version} diff -Nru maven-scm-1.9.5/maven-scm-managers/maven-scm-manager-plexus/pom.xml maven-scm-1.11.1/maven-scm-managers/maven-scm-manager-plexus/pom.xml --- maven-scm-1.9.5/maven-scm-managers/maven-scm-manager-plexus/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-managers/maven-scm-manager-plexus/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-managers - 1.9.5 + 1.11.1 maven-scm-manager-plexus diff -Nru maven-scm-1.9.5/maven-scm-managers/pom.xml maven-scm-1.11.1/maven-scm-managers/pom.xml --- maven-scm-1.9.5/maven-scm-managers/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-managers/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -23,7 +23,7 @@ maven-scm org.apache.maven.scm - 1.9.5 + 1.11.1 maven-scm-managers diff -Nru maven-scm-1.9.5/maven-scm-plugin/pom.xml maven-scm-1.11.1/maven-scm-plugin/pom.xml --- maven-scm-1.9.5/maven-scm-plugin/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm - 1.9.5 + 1.11.1 @@ -117,7 +116,7 @@ junit junit test - + org.apache.maven.plugin-testing maven-plugin-testing-harness diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java --- maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BootstrapMojo.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,11 +19,33 @@ * under the License. */ +import java.io.File; + +/* + * 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. + */ + import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.scm.ScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; @@ -31,8 +53,6 @@ import org.codehaus.plexus.util.cli.DefaultConsumer; import org.codehaus.plexus.util.cli.StreamConsumer; -import java.io.File; - /** * Pull the project source from the configured scm and execute the configured goals. * @@ -62,14 +82,14 @@ * The project directory is the same as the checkout directory in most cases, * but for some SCMs, it is a subdirectory of the checkout directory. */ - @Parameter( property = "goalsDirectory", defaultValue = "" ) + @Parameter( property = "goalsDirectory" ) private String goalsDirectory; - + /** - * The path where you maven is installed + * The path where your maven is installed */ - @Parameter( property = "mavenHome", defaultValue = "" ) - private String mavenHome; + @Parameter( property = "mavenHome", defaultValue = "${maven.home}" ) + private File mavenHome; /** {@inheritDoc} */ public void execute() @@ -79,11 +99,11 @@ if ( this.getCheckoutResult() != null ) { - + ScmResult checkoutResult = this.getCheckoutResult(); - + //At the time of useExport feature is requested only SVN and and CVS have export command implemented - // we will deal with this as more user using this feature specially clearcase where we need to + // we will deal with this as more user using this feature specially clearcase where we need to // add relativePathProjectDirectory support to ExportScmResult String relativePathProjectDirectory = ""; if ( checkoutResult instanceof CheckOutScmResult ) @@ -114,13 +134,23 @@ } cl.addEnvironment( "MAVEN_TERMINATE_CMD", "on" ); - if ( "".equals( this.mavenHome ) ) + if ( this.mavenHome == null ) { - cl.setExecutable( "mvn" ); + cl.setExecutable( "mvn" ); // none windows only } else { - cl.setExecutable( this.mavenHome.concat( "/bin/mvn" ) ); + String mvnPath = this.mavenHome.getAbsolutePath() + "/bin/mvn"; + if ( Os.isFamily( "windows" ) ) + { + String winMvnPath = mvnPath + ".cmd"; + if ( !new File( winMvnPath ).exists() ) + { + winMvnPath = mvnPath + ".bat"; + } + mvnPath = winMvnPath; + } + cl.setExecutable( mvnPath ); } cl.setWorkingDirectory( determineWorkingDirectoryPath( this.getCheckoutDirectory(), // diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java --- maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/BranchMojo.java 2018-09-11 20:05:31.000000000 +0000 @@ -53,13 +53,24 @@ /** * currently only implemented with svn scm. Enable a workaround to prevent issue - * due to svn client > 1.5.0 (http://jira.codehaus.org/browse/SCM-406) + * due to svn client > 1.5.0 (https://issues.apache.org/jira/browse/SCM-406) * * @since 1.3 */ @Parameter( property = "remoteBranching", defaultValue = "true" ) private boolean remoteBranching; + /** + * Currently only implemented with Subversion. Enable the "--pin-externals" + * option in svn copy commands which is new in Subversion 1.9. + * + * @since 1.11.0 + * + * @see https://subversion.apache.org/docs/release-notes/1.9.html + */ + @Parameter( property = "pinExternals", defaultValue = "false" ) + private boolean pinExternals; + /** {@inheritDoc} */ public void execute() throws MojoExecutionException @@ -76,6 +87,7 @@ ScmBranchParameters scmBranchParameters = new ScmBranchParameters( message ); scmBranchParameters.setRemoteBranching( remoteBranching ); + scmBranchParameters.setPinExternals( pinExternals ); BranchScmResult result = provider.branch( repository, getFileSet(), finalBranch, scmBranchParameters ); @@ -83,11 +95,11 @@ } catch ( IOException e ) { - throw new MojoExecutionException( "Cannot run branch command : ", e ); + throw new MojoExecutionException( "Cannot run branch command", e ); } catch ( ScmException e ) { - throw new MojoExecutionException( "Cannot run branch command : ", e ); + throw new MojoExecutionException( "Cannot run branch command", e ); } } } diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java --- maven-scm-1.9.5/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java 2018-09-11 20:05:31.000000000 +0000 @@ -80,13 +80,32 @@ /** * currently only implemented with svn scm. Enable a workaround to prevent issue - * due to svn client > 1.5.0 (http://jira.codehaus.org/browse/SCM-406) + * due to svn client > 1.5.0 (https://issues.apache.org/jira/browse/SCM-406) * * @since 1.2 */ @Parameter( property = "remoteTagging", defaultValue = "true" ) private boolean remoteTagging; + /** + * Currently only implemented with Subversion. Enable the "--pin-externals" + * option in svn copy commands which is new in Subversion 1.9. + * + * @since 1.11.0 + * + * @see https://subversion.apache.org/docs/release-notes/1.9.html + */ + @Parameter( property = "pinExternals", defaultValue = "false" ) + private boolean pinExternals; + + /** + * Enable the "--sign" in Git + * + * @since 1.11.0 + */ + @Parameter( property = "sign", defaultValue = "false" ) + private boolean sign; + /** {@inheritDoc} */ public void execute() throws MojoExecutionException @@ -133,6 +152,8 @@ ScmTagParameters scmTagParameters = new ScmTagParameters( message ); scmTagParameters.setRemoteTagging( remoteTagging ); + scmTagParameters.setPinExternals( pinExternals ); + scmTagParameters.setSign( sign ); TagScmResult result = provider.tag( repository, getFileSet(), finalTag, scmTagParameters ); diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/site/apt/index.apt maven-scm-1.11.1/maven-scm-plugin/src/site/apt/index.apt --- maven-scm-1.9.5/maven-scm-plugin/src/site/apt/index.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/site/apt/index.apt 2018-09-11 20:05:31.000000000 +0000 @@ -76,9 +76,7 @@ * Usage General instructions on how to use the SCM Plugin can be found on the {{{./usage.html}usage page}}. Some more - specific use cases are described in the examples given below. Last but not least, users occasionally contribute - additional examples, tips or errata to the - {{{http://docs.codehaus.org/display/MAVENUSER/SCM+Plugin}plugin's wiki page}}. + specific use cases are described in the examples given below. In case you still have questions regarding the plugin's usage, please feel free to contact the {{{./mail-lists.html}user mailing list}}. The posts to the mailing list are archived and could diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/site/apt/usage.apt.vm maven-scm-1.11.1/maven-scm-plugin/src/site/apt/usage.apt.vm --- maven-scm-1.9.5/maven-scm-plugin/src/site/apt/usage.apt.vm 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/site/apt/usage.apt.vm 2018-09-11 20:05:31.000000000 +0000 @@ -142,6 +142,6 @@ Related Links - * {{{http://docs.codehaus.org/display/SCM/SCM+Matrix}SCM Plugin Matrix}} + * {{{../matrix.html}SCM Plugin Matrix}} [] diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/BranchMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -53,8 +53,7 @@ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored setUp." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, "setUp" ); return; } @@ -79,8 +78,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ChangeLogMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -48,8 +48,7 @@ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored setUp." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, "setUp" ); return; } @@ -61,8 +60,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } @@ -84,8 +82,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/CheckoutMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -73,13 +73,12 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() ); return; } FileUtils.forceDelete( checkoutDir ); - + SvnScmTestUtils.initializeRepository( repository ); CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( @@ -100,7 +99,7 @@ throws Exception { FileUtils.forceDelete( checkoutDir ); - + checkoutDir.mkdirs(); CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( "src/test/resources/mojos/checkout/checkoutWithoutConnectionUrl.xml" ) ); @@ -121,7 +120,7 @@ throws Exception { FileUtils.forceDelete( checkoutDir ); - + checkoutDir.mkdirs(); CheckoutMojo mojo = (CheckoutMojo) lookupMojo( "checkout", getTestFile( @@ -132,14 +131,14 @@ mojo.execute(); assertTrue( checkoutDir.listFiles().length > 0 ); - assertFalse( new File( checkoutDir, ".svn" ).exists() ); + assertFalse( new File( checkoutDir, ".svn" ).exists() ); } - + public void testExcludeInclude() throws Exception { FileUtils.forceDelete( checkoutDir ); - + checkoutDir.mkdirs(); SvnScmTestUtils.initializeRepository( repository ); diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/ExportMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,7 +22,7 @@ import org.codehaus.plexus.util.FileUtils; /** - * @version $Id: ExportMojoTest.java 687713 2008-08-21 11:12:33Z vsiveton $ + * */ public class ExportMojoTest extends AbstractMojoTestCase diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/RemoveMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/RemoveMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/RemoveMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/RemoveMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -39,7 +39,7 @@ if ( !ScmTestCase.isSystemCmd( "p4" ) ) { - System.out.println( "'skip test as p4 is not available" ); + ScmTestCase.printSystemCmdUnavail( "p4", getName() ); return; } @@ -73,7 +73,7 @@ { if ( !ScmTestCase.isSystemCmd( "p4" ) ) { - System.out.println( "'skip test as p4 is not available" ); + ScmTestCase.printSystemCmdUnavail( "p4", getName() ); return; } String testConfig = "src/test/resources/mojos/remove/removeWithPerforceNoIncludes.xml"; diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/StatusMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -37,8 +37,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/TagMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -53,8 +53,7 @@ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored setUp." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, "setUp" ); return; } @@ -79,8 +78,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() ); return; } @@ -96,8 +94,7 @@ if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } @@ -127,8 +124,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVN_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java --- maven-scm-1.9.5/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-plugin/src/test/java/org/apache/maven/scm/plugin/UpdateMojoTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -55,8 +55,7 @@ { if ( !ScmTestCase.isSystemCmd( SvnScmTestUtils.SVNADMIN_COMMAND_LINE ) ) { - System.err.println( "'" + SvnScmTestUtils.SVNADMIN_COMMAND_LINE - + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( SvnScmTestUtils.SVNADMIN_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-accurev diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevCapability.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevCapability.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevCapability.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevCapability.java 2018-09-11 20:05:31.000000000 +0000 @@ -33,7 +33,7 @@ private String toVersion; - private AccuRevCapability( String fromVersion, String toVersion ) + AccuRevCapability( String fromVersion, String toVersion ) { this.fromVersion = fromVersion; this.toVersion = toVersion; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevStat.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevStat.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevStat.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/AccuRevStat.java 2018-09-11 20:05:31.000000000 +0000 @@ -38,7 +38,7 @@ private Pattern matchPattern; - private AccuRevStat( String statArg, String indicator ) + AccuRevStat( String statArg, String indicator ) { String pattern = "\\s*(\\S+)\\s+.*\\(" + indicator + "\\).*"; matchPattern = Pattern.compile( pattern ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -39,7 +39,7 @@ { /* 3 godin 2009/11/18 16:26:33 */ - private static final Pattern LINE_PATTERN = Pattern.compile( "^\\s+(\\d+)\\s+(\\w+)\\s+([0-9/]+ [0-9:]+).*" ); + private static final Pattern LINE_PATTERN = Pattern.compile( "^\\s+(\\d+)\\s+(\\S+)\\s+([0-9/]+ [0-9:]+).*" ); private List lines; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/CommandOutputConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/CommandOutputConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/CommandOutputConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/CommandOutputConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,11 +19,13 @@ * under the License. */ +import java.io.IOException; + import org.apache.maven.scm.log.ScmLogger; import org.codehaus.plexus.util.cli.StreamConsumer; /** - * + * */ public class CommandOutputConsumer implements StreamConsumer @@ -39,7 +41,7 @@ this.logger = logger; } - public void consumeLine( String line ) + public void consumeLine( String line ) throws IOException { if ( logger.isDebugEnabled() ) { @@ -61,4 +63,4 @@ } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/ErrorConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/ErrorConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/ErrorConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/ErrorConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -42,7 +42,7 @@ private final StringBuilder errors; - public ErrorConsumer( ScmLogger logger, StringBuilder errors ) + ErrorConsumer( ScmLogger logger, StringBuilder errors ) { this.logger = logger; this.errors = errors; @@ -67,4 +67,4 @@ logger.warn( line ); } } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/FileConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/FileConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/FileConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/cli/FileConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,7 +34,7 @@ { private Pattern filePattern; - public FileConsumer( List matchedFilesAccumulator, Pattern filematcher ) + FileConsumer( List matchedFilesAccumulator, Pattern filematcher ) { this.matchedFiles = matchedFilesAccumulator; this.filePattern = filematcher; @@ -80,4 +80,4 @@ } } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/util/QuotedPropertyParser.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/util/QuotedPropertyParser.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/util/QuotedPropertyParser.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/main/java/org/apache/maven/scm/provider/accurev/util/QuotedPropertyParser.java 2018-09-11 20:05:31.000000000 +0000 @@ -144,7 +144,7 @@ * */ // Has to be down here to avoid a QDOX exception - public static enum QuotedParseState + public enum QuotedParseState { KEY, IN_QUOTED_KEY, IN_QUOTED_VALUE, VALUE } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/CollectionSizeMatcher.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/CollectionSizeMatcher.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/CollectionSizeMatcher.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/CollectionSizeMatcher.java 2018-09-11 20:05:31.000000000 +0000 @@ -39,7 +39,7 @@ @Override public boolean matchesSafely( Iterable iterable ) { - Collection collection = (Collection) iterable; + Collection collection = (Collection) iterable; return collection.size() == this.size; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AccuRevCommandLineTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AccuRevCommandLineTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AccuRevCommandLineTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AccuRevCommandLineTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -239,7 +239,7 @@ accuRevCL.popExternal( testfile, "stream", "12", Collections.singleton( projectDir ) ); Commandline lastCL = accuRevCL.getCommandline(); - assertThat( lastCL.getExecutable(), is( "accurev.exe" ) ); + assertThat( lastCL.getLiteralExecutable(), is( "accurev.exe" ) ); assertThat( lastCL.getArguments(), is( new String[] { "pop", "-H", "aHost:5051", "-v", "stream", "-L", testfile.getAbsolutePath(), "-t", "12", "-R", projectDir.getPath() } ) ); @@ -256,11 +256,11 @@ accuRevCL.popExternal( testfile, "stream", "now", Collections.singleton( projectDir ) ); Commandline lastCL = accuRevCL.getCommandline(); - assertThat( lastCL.getExecutable(), is( "accurev.exe" ) ); + assertThat( lastCL.getLiteralExecutable(), is( "accurev.exe" ) ); assertThat( lastCL.getArguments(), is( new String[] { "pop", "-H", "aHost:5051", "-v", "stream", "-L", testfile.getAbsolutePath(), "-R", projectDir.getPath() } ) ); } - + @Test public void testPopExternalWithTransactionNull() throws Exception @@ -272,11 +272,11 @@ accuRevCL.popExternal( testfile, "stream", null, Collections.singleton( projectDir ) ); Commandline lastCL = accuRevCL.getCommandline(); - assertThat( lastCL.getExecutable(), is( "accurev.exe" ) ); + assertThat( lastCL.getLiteralExecutable(), is( "accurev.exe" ) ); assertThat( lastCL.getArguments(), is( new String[] { "pop", "-H", "aHost:5051", "-v", "stream", "-L", testfile.getAbsolutePath(), "-R", projectDir.getPath() } ) ); } - + @Test public void testPopWorkSpace() throws Exception @@ -289,7 +289,7 @@ accuRevCL.pop( new File( "/home/workspace" ), Collections.singleton( testFile ) ); Commandline lastCL = accuRevCL.getCommandline(); - assertThat( lastCL.getExecutable(), is( "accurev.exe" ) ); + assertThat( lastCL.getLiteralExecutable(), is( "accurev.exe" ) ); // take care of symlink if (lastCL.getWorkingDirectory().getCanonicalFile().equals( lastCL.getWorkingDirectory().getAbsoluteFile() )) { @@ -297,7 +297,7 @@ } else { assertThat( lastCL.getWorkingDirectory(), is( new File( "/home/workspace" ).getAbsoluteFile() ));// .getCanonicalFile() ) ); } - + assertThat( lastCL.getArguments(), is( new String[] { "pop", "-R", testFile.getPath() } ) ); } @@ -313,7 +313,7 @@ accuRevCL.mkws( "myStream", "myWorkSpaceName", workspaceFile ); Commandline lastCL = accuRevCL.getCommandline(); - assertThat( lastCL.getExecutable(), is( "accurev2.exe" ) ); + assertThat( lastCL.getLiteralExecutable(), is( "accurev2.exe" ) ); assertThat( lastCL.getWorkingDirectory(), is( workspaceFile.getCanonicalFile() ) ); assertThat( lastCL.getArguments(), is( new String[] { "mkws", "-b", "myStream", "-w", "myWorkSpaceName", "-l", workspaceFile.getAbsolutePath() } ) ); @@ -400,7 +400,7 @@ List shellCmds = cl.getShell().getShellCommandLine( cl.getArguments() ); accuRevCL.reset(); assertThat( cl.getShell().getShellCommandLine( cl.getArguments() ), is( shellCmds ) ); - assertThat( commandline.getShell().getExecutable(), is( "accurev" ) ); + assertThat( commandline.getLiteralExecutable(), is( "accurev" ) ); } @Test diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/AnnotateConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -53,12 +53,12 @@ BlameLine line1 = (BlameLine) consumer.getLines().get(0); Assert.assertEquals("2", line1.getRevision()); - Assert.assertEquals("godin", line1.getAuthor()); + Assert.assertEquals("go.d-in", line1.getAuthor()); assertThat(line1.getDate(), is(AccuRev.ACCUREV_TIME_SPEC.parse("2008/10/26 16:26:44"))); BlameLine line12 = (BlameLine) consumer.getLines().get(11); Assert.assertEquals("1", line12.getRevision()); - Assert.assertEquals("godin", line12.getAuthor()); + Assert.assertEquals("go.d-in", line12.getAuthor()); assertThat(line12.getDate(), is(AccuRev.ACCUREV_TIME_SPEC.parse("2008/10/17 11:41:50"))); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/FileConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/FileConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/FileConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/java/org/apache/maven/scm/provider/accurev/cli/FileConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -5,9 +5,9 @@ * 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. @@ -18,6 +18,7 @@ import static org.junit.Assert.assertThat; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -28,7 +29,7 @@ { @Test - public void testConsumeAdd() + public void testConsumeAdd() throws IOException { List extractedFiles = new ArrayList(); @@ -43,7 +44,7 @@ } @Test - public void testConsumeUpdate() + public void testConsumeUpdate() throws IOException { List extractedFiles = new ArrayList(); StreamConsumer consumer = new FileConsumer( extractedFiles, FileConsumer.UPDATE_PATTERN ); @@ -59,7 +60,7 @@ } @Test - public void testConsumePromoted() + public void testConsumePromoted() throws IOException { List extractedFiles = new ArrayList(); @@ -74,7 +75,7 @@ } @Test - public void testConsumeRemoved() + public void testConsumeRemoved() throws IOException { List extractedFiles = new ArrayList(); StreamConsumer consumer = new FileConsumer( extractedFiles, FileConsumer.DEFUNCT_PATTERN ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/resources/annotate.txt maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/resources/annotate.txt --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-accurev/src/test/resources/annotate.txt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-accurev/src/test/resources/annotate.txt 2018-09-11 20:05:31.000000000 +0000 @@ -1,12 +1,12 @@ - 2 godin 2008/10/26 16:26:44 - 2 godin 2008/10/26 16:26:44 4.0.0 - 3 godin 2009/11/18 16:26:33 - 3 godin 2009/11/18 16:26:33 - 3 godin 2009/11/18 16:26:33 - 3 godin 2009/11/18 16:26:33 localhost - 3 godin 2009/11/18 16:26:33 dumping to target - 3 godin 2009/11/18 16:26:33 file://${basedir}/target/repo/ - 3 godin 2009/11/18 16:26:33 - 3 godin 2009/11/18 16:26:33 - 1 godin 2008/10/17 11:41:50 + 2 go.d-in 2008/10/26 16:26:44 + 2 go.d-in 2008/10/26 16:26:44 4.0.0 + 3 go.d-in 2009/11/18 16:26:33 + 3 go.d-in 2009/11/18 16:26:33 + 3 go.d-in 2009/11/18 16:26:33 + 3 go.d-in 2009/11/18 16:26:33 localhost + 3 go.d-in 2009/11/18 16:26:33 dumping to target + 3 go.d-in 2009/11/18 16:26:33 file://${basedir}/target/repo/ + 3 go.d-in 2009/11/18 16:26:33 + 3 go.d-in 2009/11/18 16:26:33 + 1 go.d-in 2008/10/17 11:41:50 diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-bazaar diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/BazaarScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -81,7 +81,12 @@ public ScmProviderRepository makeProviderScmRepository( File path ) throws ScmRepositoryException, UnknownRepositoryStructure { - if ( path == null || !path.isDirectory() ) + if ( path == null ) + { + throw new NullPointerException( "Path argument is null" ); + } + + if ( !path.isDirectory() ) { throw new ScmRepositoryException( path.getAbsolutePath() + " isn't a valid directory." ); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/checkout/BazaarCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -48,7 +48,7 @@ { /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { BazaarScmProviderRepository repository = (BazaarScmProviderRepository) repo; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/tag/BazaarLsConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/tag/BazaarLsConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/tag/BazaarLsConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/command/tag/BazaarLsConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -52,7 +52,7 @@ * @param repositoryRoot The root directory of this bazaar repository. * @param wantedStatus The status we'll report for the files listed. */ - public BazaarLsConsumer( ScmLogger logger, File repositoryRoot, ScmFileStatus wantedStatus ) + BazaarLsConsumer( ScmLogger logger, File repositoryRoot, ScmFileStatus wantedStatus ) { super( logger ); files = new LinkedList(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/command/changelog/BazaarChangeLogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,11 +19,8 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ChangeFile; @@ -31,6 +28,7 @@ import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import org.junit.Assert; public class BazaarChangeLogConsumerTest @@ -43,14 +41,7 @@ BazaarChangeLogConsumer consumer = new BazaarChangeLogConsumer( new DefaultLog(), null ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List mods = consumer.getModifications(); assertEquals( 4, mods.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-clearcase @@ -45,8 +45,8 @@ generate-metadata - - + + org.codehaus.modello @@ -63,7 +63,6 @@ 1.1.0 - true src/main/mdo/clearcase-settings.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/command/checkout/ClearCaseCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -57,7 +57,7 @@ /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { if ( getLogger().isDebugEnabled() ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/repository/ClearCaseScmProviderRepository.java 2018-09-11 20:05:31.000000000 +0000 @@ -52,8 +52,6 @@ * Notice that checking out from a tag is currently only supported when the second option is used. * * @author Trygve Laugstøl - * @version $Id: ClearCaseScmProviderRepository.java 483105 2006-12-06 15:07:54Z - * evenisse $ */ public class ClearCaseScmProviderRepository extends ScmProviderRepository diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/main/mdo/clearcase-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,8 @@ ~ under the License. --> - clearcase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-clearcase/src/test/java/org/apache/maven/scm/provider/clearcase/command/checkin/ClearCaseCheckInCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,7 +19,6 @@ * under the License. */ -import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmTestCase; import org.codehaus.plexus.util.cli.Commandline; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-hg diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -52,7 +52,7 @@ * {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion scmVersion, boolean recursive ) + ScmVersion scmVersion, boolean recursive, boolean shallow ) throws ScmException { HgScmProviderRepository repository = (HgScmProviderRepository) repo; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgCommandConstants.java 2018-09-11 20:05:31.000000000 +0000 @@ -164,7 +164,6 @@ * verbose format for log command. */ public static final String TEMPLATE_FORMAT = - "changeset: {rev}:{node|short}\nbranch: {branch}\nuser: {author}\ndate: {date|isodatesec}" - + "\ntag: {tags}\nfiles: {files}\ndescription:\n{desc}\n"; - + "changeset: {rev}:{node|short}\\nbranch: {branch}\\nuser: {author}\\n" + + "date: {date|isodatesec}\\ntag: {tags}\\nfiles: {files}\\ndescription:\\n{desc}\\n"; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,8 +22,6 @@ import org.apache.maven.scm.log.ScmLogger; import org.apache.maven.scm.provider.hg.command.HgConsumer; -import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -159,7 +159,12 @@ public ScmProviderRepository makeProviderScmRepository( File path ) throws ScmRepositoryException, UnknownRepositoryStructure { - if ( path == null || !path.isDirectory() ) + if ( path == null ) + { + throw new NullPointerException( "Path argument is null" ); + } + + if ( !path.isDirectory() ) { throw new ScmRepositoryException( path.getAbsolutePath() + " isn't a valid directory." ); } @@ -318,8 +323,7 @@ /** * @since 1.5 - * {@inheritDoc} - */ + */ @Override protected ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -315,7 +315,7 @@ * @return true if a different outgoing branch was found * @throws ScmException on outgoing command error */ - public static boolean differentOutgoingBranchFound( ScmLogger logger, File workingDir,String workingbranchName ) + public static boolean differentOutgoingBranchFound( ScmLogger logger, File workingDir, String workingbranchName ) throws ScmException { String[] outCmd = new String[]{ HgCommandConstants.OUTGOING_CMD }; @@ -326,10 +326,11 @@ { for ( HgChangeSet set : changes ) { - if (!getBranchName(workingbranchName).equals(getBranchName(set.getBranch()))) { - logger.warn( "A different branch than " + getBranchName(workingbranchName) - + " was found in outgoing changes, branch name was " + getBranchName(set.getBranch()) - + ". Only local branch named " + getBranchName(workingbranchName) + " will be pushed." ); + if ( !getBranchName( workingbranchName ).equals( getBranchName( set.getBranch() ) ) ) + { + logger.warn( "A different branch than " + getBranchName( workingbranchName ) + + " was found in outgoing changes, branch name was " + getBranchName( set.getBranch() ) + + ". Only local branch named " + getBranchName( workingbranchName ) + " will be pushed." ); return true; } } @@ -337,7 +338,8 @@ return false; } - private static String getBranchName(String branch) { + private static String getBranchName( String branch ) + { return branch == null ? DEFAULT : branch; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java 2018-09-11 20:05:31.000000000 +0000 @@ -149,20 +149,18 @@ if ( indexSlash > 0 ) { hostPort = url.substring( 0, indexSlash ); + url = url.substring( indexSlash ); } int indexColon = hostPort.indexOf( ':' ); if ( indexColon > 0 ) { setHost( hostPort.substring( 0, indexColon ) ); - url = StringUtils.replace( url, getHost(), "" ); setPort( Integer.parseInt( hostPort.substring( indexColon + 1 ) ) ); - url = StringUtils.replace( url, ":" + getPort(), "" ); } else { setHost( hostPort ); - url = StringUtils.replace( url, getHost(), "" ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepositoryTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -105,6 +105,14 @@ assertTrue( true ); } + public void testHTTPRepoWithHgInUrl() + { + String url = "http://hg/hg/maven"; + HgScmProviderRepository repo = new HgScmProviderRepository( url ); + assertEquals( url, repo.getURI() ); + assertEquals( null, repo.validateURI() ); + } + /** * Test SCM-391 * @@ -146,4 +154,4 @@ repo = new HgScmProviderRepository( url ); assertEquals( url, repo.getURI() ); } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -24,7 +24,7 @@ maven-scm-providers org.apache.maven.scm - 1.9.5 + 1.11.1 maven-scm-provider-integrity Maven SCM MKS Integrity Provider diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/APISession.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/APISession.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/APISession.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/APISession.java 2018-09-11 20:05:31.000000000 +0000 @@ -35,7 +35,6 @@ * The APISession provides a wrapper for the MKS JAVA API * * @author Cletus D'Souza - * @version $Id: APISession.java 1.2 2011/08/22 13:06:44EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class APISession diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -35,7 +35,6 @@ * MKS Integrity implementation for Maven's AbstractAddCommand * * @author Cletus D'Souza - * @version $Id: IntegrityAddCommand.java 1.4 2011/08/22 13:06:13EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityAddCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -35,7 +35,6 @@ *
This class will execute a 'si annotate' command for the specified filename * * @author Cletus D'Souza - * @version $Id: IntegrityBlameCommand.java 1.3 2011/08/22 13:06:15EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityBlameCommand @@ -124,21 +123,22 @@ shell.createArg().setValue( "--fields=date,revision,author" ); shell.createArg().setValue( '"' + filename + '"' ); IntegrityBlameConsumer shellConsumer = new IntegrityBlameConsumer( getLogger() ); + String commandLine = CommandLineUtils.toString( shell.getCommandline() ); try { - getLogger().debug( "Executing: " + CommandLineUtils.toString( shell.getCommandline() ) ); + getLogger().debug( "Executing: " + commandLine ); int exitCode = CommandLineUtils.executeCommandLine( shell, shellConsumer, new CommandLineUtils.StringStreamConsumer() ); boolean success = ( exitCode == 0 ? true : false ); ScmResult scmResult = - new ScmResult( shell.getCommandline().toString(), "", "Exit Code: " + exitCode, success ); + new ScmResult( commandLine, "", "Exit Code: " + exitCode, success ); return new BlameScmResult( shellConsumer.getBlameList(), scmResult ); } catch ( CommandLineException cle ) { getLogger().error( "Command Line Exception: " + cle.getMessage() ); - result = new BlameScmResult( shell.getCommandline().toString(), cle.getMessage(), "", false ); + result = new BlameScmResult( commandLine, cle.getMessage(), "", false ); } return result; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/blame/IntegrityBlameConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -33,7 +33,6 @@ * Helper class to consume the standard output from running the IntegrityBlameCommand * * @author Cletus D'Souza - * @version $Id: IntegrityBlameConsumer.java 1.2 2011/08/22 13:06:16EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityBlameConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -42,7 +42,6 @@ * the Development Path * * @author Cletus D'Souza - * @version $Id: IntegrityBranchCommand.java 1.3 2011/08/22 13:06:17EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityBranchCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -44,7 +44,6 @@ * Change Log Set * * @author Cletus D'Souza - * @version $Id: IntegrityChangeLogCommand.java 1.3 2011/08/22 13:06:19EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityChangeLogCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -37,7 +37,6 @@ *
The check-in command will also drop any files that are missing from the working directory * * @author Cletus D'Souza - * @version $Id: IntegrityCheckInCommand.java 1.3 2011/08/22 13:06:20EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityCheckInCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,7 +43,6 @@ * then the command will resynchronize the sandbox. * * @author Cletus D'Souza - * @version $Id: IntegrityCheckOutCommand.java 1.3 2011/08/22 13:06:21EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityCheckOutCommand @@ -60,7 +59,7 @@ */ @Override public CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, - ScmVersion scmVersion, boolean recursive ) + ScmVersion scmVersion, boolean recursive, boolean shallow ) throws ScmException { CheckOutScmResult result; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,7 +43,6 @@ * current Sandbox working file against the server version. * * @author Cletus D'Souza - * @version $Id: IntegrityDiffCommand.java 1.4 2011/08/24 10:29:08EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityDiffCommand @@ -76,15 +75,15 @@ shell.createArg().setValue( "--filter=changed:all" ); shell.createArg().setValue( "--filter=format:text" ); IntegrityDiffConsumer shellConsumer = new IntegrityDiffConsumer( getLogger() ); + String commandLine = CommandLineUtils.toString( shell.getCommandline() ); try { - getLogger().debug( "Executing: " + shell.getCommandline() ); + getLogger().debug( "Executing: " + commandLine ); int exitCode = CommandLineUtils.executeCommandLine( shell, shellConsumer, new CommandLineUtils.StringStreamConsumer() ); boolean success = ( exitCode == 128 ? false : true ); - ScmResult scmResult = - new ScmResult( shell.getCommandline().toString(), "", "Exit Code: " + exitCode, success ); + ScmResult scmResult = new ScmResult( commandLine, "", "Exit Code: " + exitCode, success ); // Since we can't really parse the differences output, we'll just have to go by the command output // Returning a DiffScmResult(List changedFiles, Map differences, String patch, ScmResult result) to avoid // a NPE in org.codehaus.plexus.util.FileUtils.fileWrite(FileUtils.java:426) @@ -94,7 +93,7 @@ catch ( CommandLineException cle ) { getLogger().error( "Command Line Exception: " + cle.getMessage() ); - result = new DiffScmResult( shell.getCommandline().toString(), cle.getMessage(), "", false ); + result = new DiffScmResult( commandLine, cle.getMessage(), "", false ); } return result; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/diff/IntegrityDiffConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * Helper class to consume the standard output from running the IntegrityDiffCommand * * @author Cletus D'Souza - * @version $Id: IntegrityDiffConsumer.java 1.2 2011/08/22 13:06:24EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityDiffConsumer implements StreamConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/edit/IntegrityEditCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/edit/IntegrityEditCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/edit/IntegrityEditCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/edit/IntegrityEditCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -36,7 +36,6 @@ * this command will make all of the working files writable in the Sandbox * * @author Cletus D'Souza - * @version $Id: IntegrityEditCommand.java 1.3 2011/08/22 13:06:25EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityEditCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -46,7 +46,6 @@ * any project.pj files * * @author Cletus D'Souza - * @version $Id: IntegrityExportCommand.java 1.3 2011/08/22 13:06:26EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityExportCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,7 +43,6 @@ * console verbatim * * @author Cletus D'Souza - * @version $Id: IntegrityFileInfoCommand.java 1.3 2011/08/22 13:06:28EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityFileInfoCommand @@ -75,20 +74,21 @@ shell.createArg().setValue( "--user=" + api.getUserName() ); shell.createArg().setValue( '"' + filename + '"' ); IntegrityFileInfoConsumer shellConsumer = new IntegrityFileInfoConsumer( getLogger() ); + String commandLine = CommandLineUtils.toString( shell.getCommandline() ); try { - getLogger().debug( "Executing: " + shell.getCommandline() ); + getLogger().debug( "Executing: " + commandLine ); int exitCode = CommandLineUtils.executeCommandLine( shell, shellConsumer, new CommandLineUtils.StringStreamConsumer() ); boolean success = ( exitCode == 128 ? false : true ); - result = new ScmResult( shell.getCommandline().toString(), "", "Exit Code: " + exitCode, success ); + result = new ScmResult( commandLine, "", "Exit Code: " + exitCode, success ); } catch ( CommandLineException cle ) { getLogger().error( "Command Line Exception: " + cle.getMessage() ); - result = new ScmResult( shell.getCommandline().toString(), cle.getMessage(), "", false ); + result = new ScmResult( commandLine, cle.getMessage(), "", false ); } return result; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/fileinfo/IntegrityFileInfoConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * Helper class to consume the standard output from running the IntegrityFileInfoCommand * * @author Cletus D'Souza - * @version $Id: IntegrityFileInfoConsumer.java 1.2 2011/08/22 13:06:29EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityFileInfoConsumer implements StreamConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -42,7 +42,6 @@ *
This command will a 'si viewproject' command listing all the files in the project * * @author Cletus D'Souza - * @version $Id: IntegrityListCommand.java 1.4 2011/08/22 13:06:30EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityListCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -40,7 +40,6 @@ * which assumes the user has a valid Sandbox to work with. * * @author Cletus D'Souza - * @version $Id: IntegrityLockCommand.java 1.3 2011/08/22 13:06:31EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityLockCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/login/IntegrityLoginCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/login/IntegrityLoginCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/login/IntegrityLoginCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/login/IntegrityLoginCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -42,7 +42,6 @@ * pre-requisite. * * @author Cletus D'Souza - * @version $Id: IntegrityLoginCommand.java 1.2 2011/08/22 13:06:33EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityLoginCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/mkdir/IntegrityMkdirCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/mkdir/IntegrityMkdirCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/mkdir/IntegrityMkdirCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/mkdir/IntegrityMkdirCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -45,7 +45,6 @@ * in the relative path. * * @author Cletus D'Souza - * @version $Id: IntegrityMkdirCommand.java 1.3 2011/08/22 13:06:34EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityMkdirCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/remove/IntegrityRemoveCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/remove/IntegrityRemoveCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/remove/IntegrityRemoveCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/remove/IntegrityRemoveCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -35,7 +35,6 @@ *
This command will remove the registry entry for the current Sandbox * * @author Cletus D'Souza - * @version $Id: IntegrityRemoveCommand.java 1.3 2011/08/22 13:06:35EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityRemoveCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -47,7 +47,6 @@ * files added in the sandbox directory * * @author Cletus D'Souza - * @version $Id: IntegrityStatusCommand.java 1.6 2011/08/22 13:06:36EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityStatusCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -42,7 +42,6 @@ * script for evaluating the tag (label) name * * @author Cletus D'Souza - * @version $Id: IntegrityTagCommand.java 1.4 2011/08/22 13:06:38EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityTagCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -36,7 +36,6 @@ * any modified working files back to their server versions * * @author Cletus D'Souza - * @version $Id: IntegrityUnEditCommand.java 1.4 2011/08/22 13:06:39EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityUnEditCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unlock/IntegrityUnlockCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unlock/IntegrityUnlockCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unlock/IntegrityUnlockCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/unlock/IntegrityUnlockCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -39,7 +39,6 @@ *
This command will run a 'si unlock' command for the specified filename * * @author Cletus D'Souza - * @version $Id: IntegrityUnlockCommand.java 1.3 2011/08/22 13:06:40EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityUnlockCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -47,7 +47,6 @@ *
This command will execute a 'si resync' to synchronize the sandbox with the server revisions. * * @author Cletus D'Souza - * @version $Id: IntegrityUpdateCommand.java 1.3 2011/08/22 13:06:42EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityUpdateCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/ExceptionHandler.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/ExceptionHandler.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/ExceptionHandler.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/ExceptionHandler.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ /** * Helper class to appropriately diagnose an APIException - * @version $Id: ExceptionHandler.java 1.2 2011/08/22 13:06:45EDT Cletus D'Souza (dsouza) Exp $ * @author Cletus D'Souza */ public class ExceptionHandler diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/IntegrityScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/IntegrityScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/IntegrityScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/IntegrityScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -71,7 +71,6 @@ * MKS Integrity SCM Provider for Maven * * @author Cletus D'Souza - * @version $Id: IntegrityScmProvider.java 1.7 2011/08/22 13:06:46EDT Cletus D'Souza (dsouza) Exp $ * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="integrity" * @since 1.6 */ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Member.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Member.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Member.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Member.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,7 +34,6 @@ *
It contains all the necessary metadata to check this file out individually * * @author Cletus D'Souza - * @version $Id: Member.java 1.2 2011/08/22 13:06:47EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class Member diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Project.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Project.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Project.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Project.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,7 +43,6 @@ *
Provides metadata information about a Project * * @author Cletus D'Souza - * @version $Id: Project.java 1.6 2011/08/22 13:06:48EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class Project diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepository.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepository.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepository.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepository.java 2018-09-11 20:05:31.000000000 +0000 @@ -30,7 +30,6 @@ *
This class stores an abstraction of the MKS API Session, Project, and Sandbox * * @author Cletus D'Souza - * @version $Id: IntegrityScmProviderRepository.java 1.2 2011/08/22 13:06:43EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class IntegrityScmProviderRepository diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Sandbox.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Sandbox.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Sandbox.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/main/java/org/apache/maven/scm/provider/integrity/Sandbox.java 2018-09-11 20:05:31.000000000 +0000 @@ -49,7 +49,6 @@ * for executing typical Sandbox operations * * @author Cletus D'Souza - * @version $Id: Sandbox.java 1.11 2011/08/22 13:06:50EDT Cletus D'Souza (dsouza) Exp $ * @since 1.6 */ public class Sandbox @@ -156,7 +155,7 @@ } /** - * Inspects the MKS API Response object's Item field to determine whether or nor a working file delta exists + * Inspects the MKS API Response object's Item field to determine whether or not a working file delta exists * * @param wfdelta MKS API Response object's Item representing the Working File Delta * @return true if the working file is a delta; false otherwise @@ -736,7 +735,7 @@ * * @param startDate The date range for the beginning of the operation * @param endDate The date range for the end of the operation - * @return ChangeLogSet containing a list of changes grouped by Change Pacakge ID + * @return ChangeLogSet containing a list of changes grouped by Change Package ID * @throws APIException */ public ChangeLogSet getChangeLog( Date startDate, Date endDate ) @@ -834,4 +833,4 @@ return changeLog; } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/add/IntegrityAddCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * IntegrityAddCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityAddCommandTest.java 1.1 2011/08/29 00:29:48EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityAddCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/branch/IntegrityBranchCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -28,7 +28,6 @@ * IntegrityBranchCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityBranchCommandTest.java 1.1 2011/08/29 00:29:50EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityBranchCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/changelog/IntegrityChangeLogCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,6 @@ * IntegrityChangeLogCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityChangeLogCommandTest.java 1.1 2011/08/29 00:29:52EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityChangeLogCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkin/IntegrityCheckInCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -31,7 +31,6 @@ * IntegrityCheckInCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityCheckInCommandTest.java 1.1 2011/08/29 00:29:54EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityCheckInCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/checkout/IntegrityCheckOutCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,6 @@ * IntegrityCheckOutCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityCheckOutCommandTest.java 1.1 2011/08/29 00:29:55EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityCheckOutCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/export/IntegrityExportCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * IntegrityExportCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityExportCommandTest.java 1.1 2011/08/29 00:29:58EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityExportCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/IntegrityCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/IntegrityCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/IntegrityCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/IntegrityCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -39,7 +39,6 @@ * Parent class IntegrityCommandTest for all Integrity Test Command executions * * @author Cletus D'Souza - * @version $Id: IntegrityCommandTest.java 1.1 2011/08/29 00:29:46EDT Cletus D'Souza (dsouza) Exp $ */ public abstract class IntegrityCommandTest extends ScmTestCase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/list/IntegrityListCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,6 @@ * IntegrityListCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityListCommandTest.java 1.1 2011/08/29 00:29:59EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityListCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/lock/IntegrityLockCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * IntegrityLockCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityLockCommandTest.java 1.1 2011/08/29 00:30:01EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityLockCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/status/IntegrityStatusCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,6 @@ * IntegrityStatusCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityStatusCommandTest.java 1.1 2011/08/29 00:30:03EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityStatusCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/tag/IntegrityTagCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,6 @@ * IntegrityTagCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityTagCommandTest.java 1.1 2011/08/29 00:30:06EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityTagCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/unedit/IntegrityUnEditCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,6 @@ * IntegrityUnEditCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityUnEditCommandTest.java 1.1 2011/08/29 00:30:08EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityUnEditCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/command/update/IntegrityUpdateCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,6 @@ * IntegrityUpdateCommandTest unit test class * * @author Cletus D'Souza - * @version $Id: IntegrityUpdateCommandTest.java 1.1 2011/08/29 00:30:10EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityUpdateCommandTest extends IntegrityCommandTest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepositoryTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepositoryTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepositoryTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-integrity/src/test/java/org/apache/maven/scm/provider/integrity/repository/IntegrityScmProviderRepositoryTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -27,7 +27,6 @@ * IntegrityScmProviderRepositoryTest * * @author Cletus D'Souza - * @version $Id: IntegrityScmProviderRepositoryTest.java 1.1 2011/08/29 00:30:11EDT Cletus D'Souza (dsouza) Exp $ */ public class IntegrityScmProviderRepositoryTest extends ScmTestCase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -26,7 +26,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-jazz diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/changelog/JazzListChangesetConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -127,7 +127,7 @@ private static final int STATE_CHANGES = 4; - // Header definitions. + // Header definitions. private static final String HEADER_CHANGE_SETS = "Change sets:"; private static final String HEADER_CHANGE_SET = "("; @@ -344,10 +344,16 @@ { changesetDate = parseDate( date.toString(), userDateFormat, JAZZ_TIMESTAMP_PATTERN, Locale.ENGLISH ); } + // changesetDate will be null when the date is not given, it only has just the time. The date is today. if ( changesetDate == null ) { - // changesetDate will be null when the date is not given, it only has just the time. The date is today. changesetDate = parseDate( date.toString(), userDateFormat, JAZZ_TIMESTAMP_PATTERN_TIME ); + // try again forcing en locale + if ( changesetDate == null ) + { + changesetDate = + parseDate( date.toString(), userDateFormat, JAZZ_TIMESTAMP_PATTERN_TIME, Locale.ENGLISH ); + } // Get today's time/date. Used to get the date. Calendar today = Calendar.getInstance(); // Get a working one. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/checkout/JazzCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -55,7 +55,7 @@ * {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion scmVersion, boolean recursive ) + ScmVersion scmVersion, boolean recursive, boolean shallow ) throws ScmException { // TODO - Figure out how this recursive boolean impacts Jazz SCM "checkout" (load). diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/main/java/org/apache/maven/scm/provider/jazz/command/tag/JazzTagCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -176,7 +176,7 @@ command.addArgument( message ); } - command.addArgument( repo.getRepositoryWorkspace() ); + command.addArgument( repo.getWorkspace() ); return command; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/checkin/JazzCheckInCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -1,7 +1,5 @@ package org.apache.maven.scm.provider.jazz.command.checkin; -import java.awt.List; - import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.log.DefaultLog; import org.apache.maven.scm.provider.jazz.JazzScmTestCase; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-jazz/src/test/java/org/apache/maven/scm/provider/jazz/command/JazzScmCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -1,9 +1,10 @@ package org.apache.maven.scm.provider.jazz.command; +import static org.junit.Assert.assertNotEquals; + import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.provider.jazz.JazzScmTestCase; import org.codehaus.plexus.util.Os; -import org.codehaus.plexus.util.cli.Commandline; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -64,12 +65,21 @@ throws Exception { JazzScmCommand listCommand = new JazzScmCommand( "list", getScmProviderRepository(), null, null ); + // FIXME cryptPassword is broken String actual = JazzScmCommand.cryptPassword( listCommand.getCommandline() ); - String expected = Os.isFamily( Os.FAMILY_WINDOWS ) - ? "cmd.exe /X /C \"scm list --repository-uri https://localhost:9443/jazz --username myUserName --password *****\"" - : "/bin/sh -c scm list --repository-uri https://localhost:9443/jazz --username myUserName --password '*****'"; - assertEquals( "cryptPassword failed!", expected, actual ); + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + String expected = + "cmd.exe /X /C \"scm list --repository-uri https://localhost:9443/jazz --username myUserName --password *****\""; + assertEquals( "cryptPassword failed!", expected, actual ); + } + else + { + String expected = + "/bin/sh -c 'scm' 'list' '--repository-uri' 'https://localhost:9443/jazz' '--username' 'myUserName' '--password' '*****'"; + assertNotEquals( "cryptPassword correct!", expected, actual ); + } } public void testCryptPasswordWithExtraArg() @@ -77,11 +87,20 @@ { JazzScmCommand listCommand = new JazzScmCommand( "list", getScmProviderRepository(), null, null ); listCommand.addArgument( "ExtraArg" ); + // FIXME cryptPassword is broken String actual = JazzScmCommand.cryptPassword( listCommand.getCommandline() ); - String expected = Os.isFamily( Os.FAMILY_WINDOWS ) - ? "cmd.exe /X /C \"scm list --repository-uri https://localhost:9443/jazz --username myUserName --password ***** ExtraArg\"" - : "/bin/sh -c scm list --repository-uri https://localhost:9443/jazz --username myUserName --password '*****' ExtraArg"; - assertEquals( "cryptPassword failed!", expected, actual ); + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + String expected = + "cmd.exe /X /C \"scm list --repository-uri https://localhost:9443/jazz --username myUserName --password ***** ExtraArg\""; + assertEquals( "cryptPassword failed!", expected, actual ); + } + else + { + String expected = + "/bin/sh -c 'scm' 'list' '--repository-uri' 'https://localhost:9443/jazz' '--username' 'myUserName' '--password' '*****' 'ExtraArg'"; + assertNotEquals( "cryptPassword correct!", expected, actual ); + } } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-local @@ -45,8 +45,8 @@ generate-metadata - - + +
org.codehaus.modello @@ -63,7 +63,6 @@ 1.0.0 - true src/main/mdo/maven-scm-local-metadata.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -47,7 +47,7 @@ { /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { LocalScmProviderRepository repository = (LocalScmProviderRepository) repo; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-local/src/main/mdo/maven-scm-local-metadata.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,8 @@ ~ under the License. --> - maven-scm-local-metadata diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-perforce diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -30,8 +30,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceAddConsumer implements StreamConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -37,7 +37,7 @@ { private static final String PERFORCE_TIMESTAMP_PATTERN = "yyyy/MM/dd"; - private static final Pattern LINE_PATTERN = Pattern.compile( "#(\\d+).*on (.*) by (.*)@" ); + private static final Pattern LINE_PATTERN = Pattern.compile( "#(\\d+).*?on (.*?) by (.*?)@" ); private Map dates = new HashMap(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -27,8 +27,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceCheckInConsumer implements StreamConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -65,7 +65,7 @@ * {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet files, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { PerforceScmProviderRepository prepo = (PerforceScmProviderRepository) repo; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -32,8 +32,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceCheckOutConsumer extends AbstractPerforceConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,8 +26,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceDiffConsumer implements StreamConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -26,8 +26,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceLoginConsumer extends AbstractPerforceConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -59,7 +59,6 @@ * command line creation. * * @author mperham - * @version $Id: $ */ public class PerforceInfoCommand extends AbstractCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/PerforceWhereCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,7 +43,6 @@ * * * @author mperham - * @version $Id: $ */ public class PerforceWhereCommand { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -27,8 +27,6 @@ /** * @author Mike Perham - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceStatusConsumer extends AbstractPerforceConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -32,8 +32,6 @@ /** * @author Mike Perham * @author Olivier Lamy - * @version $Id: PerforceChangeLogConsumer.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceUnEditConsumer extends AbstractPerforceConsumer diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/add/PerforceAddConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,14 +19,12 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse @@ -42,14 +40,7 @@ PerforceAddConsumer consumer = new PerforceAddConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List adds = consumer.getAdditions(); assertEquals( "Wrong number of entries returned", 3, adds.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,6 +23,7 @@ import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.blame.BlameLine; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import java.io.*; @@ -40,14 +41,7 @@ PerforceBlameConsumer consumer = new PerforceBlameConsumer( new DefaultLog() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); Assert.assertEquals( 2, consumer.getLines().size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,6 +22,7 @@ import junit.framework.Assert; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import java.io.*; @@ -39,17 +40,12 @@ PerforceFilelogConsumer consumer = new PerforceFilelogConsumer( new DefaultLog() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); + Assert.assertEquals( "tom", consumer.getAuthor( "36" ) ); Assert.assertEquals( "earl", consumer.getAuthor( "35" ) ); Assert.assertEquals( "raj", consumer.getAuthor( "34" ) ); + Assert.assertEquals( "dick", consumer.getAuthor( "32" ) ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceChangeLogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,15 +19,13 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse @@ -44,14 +42,7 @@ PerforceChangesConsumer consumer = new PerforceChangesConsumer( new DefaultLog() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List entries = new ArrayList( consumer.getChanges() ); assertEquals( "Wrong number of entries returned", 7, entries.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/changelog/PerforceDescribeConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,10 +19,7 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; @@ -30,6 +27,7 @@ import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse @@ -46,14 +44,7 @@ PerforceDescribeConsumer consumer = new PerforceDescribeConsumer( "//depot/test", null, new DefaultLog() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List entries = new ArrayList( consumer.getModifications() ); assertEquals( "Wrong number of entries returned", 7, entries.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkin/PerforceCheckInConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -20,11 +20,9 @@ */ import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; /** * @author Emmanuel Venisse @@ -40,14 +38,7 @@ PerforceCheckInConsumer consumer = new PerforceCheckInConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertTrue( consumer.getOutput(), consumer.isSuccess() ); assertEquals( "", consumer.getOutput() ); @@ -60,14 +51,7 @@ PerforceCheckInConsumer consumer = new PerforceCheckInConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertTrue( consumer.getOutput(), consumer.isSuccess() ); assertEquals( "", consumer.getOutput() ); @@ -80,14 +64,7 @@ PerforceCheckInConsumer consumer = new PerforceCheckInConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertFalse( consumer.getOutput(), consumer.isSuccess() ); assertTrue( consumer.getOutput(), consumer.getOutput().length() > 0 ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/checkout/PerforceCheckOutConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,11 +22,9 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; /** * @author Emmanuel Venisse @@ -45,14 +43,7 @@ assertEquals( "", consumer.getOutput() ); assertTrue( consumer.isSuccess() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertTrue( consumer.getOutput(), consumer.isSuccess() ); assertEquals( "", consumer.getOutput() ); @@ -75,14 +66,7 @@ consumer.consumeLine( "Client test-test-maven saved." ); assertTrue( consumer.isSuccess() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertFalse( consumer.getOutput(), consumer.isSuccess() ); assertTrue( consumer.getOutput(), consumer.getOutput().length() > 0 ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/diff/PerforceDiffConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -20,11 +20,9 @@ */ import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; /** * @author Emmanuel Venisse @@ -40,14 +38,7 @@ PerforceDiffConsumer consumer = new PerforceDiffConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); // Linebreak differences will fail if we try to assert // the exact file length so we just use a rough approximation. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/edit/PerforceEditConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,14 +19,12 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse @@ -42,14 +40,7 @@ PerforceEditConsumer consumer = new PerforceEditConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List edits = consumer.getEdits(); assertEquals( "Wrong number of entries returned", 2, edits.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/login/PerforceLoginConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -20,16 +20,12 @@ */ import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; /** * @author Emmanuel Venisse - * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceLoginConsumerTest extends ScmTestCase @@ -41,14 +37,7 @@ PerforceLoginConsumer consumer = new PerforceLoginConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertEquals( "", consumer.getOutput() ); assertTrue( consumer.isSuccess() ); @@ -61,14 +50,7 @@ PerforceLoginConsumer consumer = new PerforceLoginConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertFalse( consumer.isSuccess() ); assertTrue( consumer.getOutput().startsWith( "Password invalid." ) ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/PerforceInfoCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -27,7 +27,6 @@ /** * @author Trygve Laugstøl - * @version $Id: PerforceScmProviderTest.java 372209 2006-01-25 13:30:01Z evenisse $ */ public class PerforceInfoCommandTest extends ScmTestCase @@ -39,6 +38,12 @@ PerforceScmProviderRepository p4Repo = (PerforceScmProviderRepository) repo.getProviderRepository(); + if ( !ScmTestCase.isSystemCmd( "p4" ) ) + { + ScmTestCase.printSystemCmdUnavail( "p4", getName() ); + return; + } + PerforceScmProvider prov = new PerforceScmProvider(); PerforceTagCommand cmd = new PerforceTagCommand(); cmd.setLogger( prov.getLogger() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/remove/PerforceRemoveConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,14 +19,12 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse @@ -42,14 +40,7 @@ PerforceRemoveConsumer consumer = new PerforceRemoveConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); List removes = consumer.getRemovals(); assertEquals( "Wrong number of entries returned", 2, removes.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -29,8 +29,6 @@ /** * @author Emmanuel Venisse * @author Trygve Laugstøl - * @version $Id: PerforceChangeLogCommandTest.java 162277 2005-01-11 19:02:26Z - * trygvis $ */ public class PerforceStatusCommandTest extends ScmTestCase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/status/PerforceStatusConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,17 +22,13 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; /** * @author Emmanuel Venisse - * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceStatusConsumerTest extends ScmTestCase @@ -44,14 +40,7 @@ PerforceStatusConsumer consumer = new PerforceStatusConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertEquals( "", consumer.getOutput() ); assertTrue( consumer.isSuccess() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -31,8 +31,6 @@ /** * @author Emmanuel Venisse * @author Trygve Laugstøl - * @version $Id: PerforceChangeLogCommandTest.java 162277 2005-01-11 19:02:26Z - * trygvis $ */ public class PerforceTagCommandTest extends ScmTestCase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,19 +19,15 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse - * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceTagConsumerTest extends ScmTestCase @@ -43,14 +39,7 @@ PerforceTagConsumer consumer = new PerforceTagConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertEquals( "", consumer.getOutput() ); assertTrue( consumer.isSuccess() ); @@ -67,14 +56,7 @@ PerforceTagConsumer consumer = new PerforceTagConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertFalse( consumer.isSuccess() ); assertTrue( diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/unedit/PerforceUnEditConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,19 +19,15 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.List; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Emmanuel Venisse - * @version $Id: PerforceChangeLogConsumerTest.java 331276 2005-11-07 15:04:54Z - * evenisse $ */ public class PerforceUnEditConsumerTest extends ScmTestCase @@ -43,14 +39,7 @@ PerforceUnEditConsumer consumer = new PerforceUnEditConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertTrue( consumer.isSuccess() ); List edits = consumer.getEdits(); @@ -67,14 +56,7 @@ PerforceUnEditConsumer consumer = new PerforceUnEditConsumer(); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertFalse( consumer.isSuccess() ); assertTrue( consumer.getOutput().indexOf( ".classpath - file(s) not opened on this client." ) == 0 ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt 2018-09-11 20:05:31.000000000 +0000 @@ -1,4 +1,6 @@ //depot/dev/main/jam/jam.c +... #36 change 789 edit on 2001/12/13 by tom@tom-dev-yew (text) 'Handle @ symbols in description' ... #35 change 627 edit on 2001/11/13 by earl@earl-dev-yew (text) 'Handle platform variants better' ... #34 change 598 edit on 2001/10/24 by raj@raj-althea (text) 'Reverse previous attempt at fix' ... #33 change 581 edit on 2001/10/03 by gale@gale-jam-oak (text) 'Version strings & release notes' +... #32 change 432 edit on 2001/09/03 by dick@dick-pine (text) 'Merge in change on 2001/08/27 by jim@nowhere.com' diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-cvs - 1.9.5 + 1.11.1 maven-scm-provider-cvs-commons @@ -58,7 +58,6 @@ 1.0.0 - true src/main/mdo/cvs-settings.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/AbstractCvsScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -199,7 +199,12 @@ public ScmProviderRepository makeProviderScmRepository( File path ) throws ScmRepositoryException, UnknownRepositoryStructure { - if ( path == null || !path.isDirectory() ) + if ( path == null ) + { + throw new NullPointerException( "Path argument is null" ); + } + + if ( !path.isDirectory() ) { throw new ScmRepositoryException( path.getAbsolutePath() + " isn't a valid directory." ); } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -137,7 +137,7 @@ protected void addDateRangeParameter( Commandline cl, String dateRange ) { // There's a difference between UNIX-like OS and Windows - // See http://jira.codehaus.org/browse/SCM-187 + // See https://issues.apache.org/jira/browse/SCM-187 if ( Os.isFamily( "windows" ) ) { cl.createArg().setValue( "\"" + dateRange + "\"" ); diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,11 @@ * under the License. */ +import org.apache.maven.scm.CommandParameter; +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.ScmVersion; import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand; import org.apache.maven.scm.command.checkout.CheckOutScmResult; @@ -43,11 +46,28 @@ extends AbstractCheckOutCommand implements CvsCommand { - /** {@inheritDoc} */ + + /** + * The overriden {@link #executeCommand(ScmProviderRepository, ScmFileSet, CommandParameters)} + * in this class will not call this method! + *

+ * {@inheritDoc} + */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) + throws ScmException + { + throw new UnsupportedOperationException( "Should not get here" ); + } + + @Override + public ScmResult executeCommand( ScmProviderRepository repo, ScmFileSet fileSet, + CommandParameters parameters ) throws ScmException { + ScmVersion version = parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + boolean binary = parameters.getBoolean( CommandParameter.BINARY, false ); + if ( fileSet.getBasedir().exists() ) { try @@ -69,6 +89,11 @@ cl.setWorkingDirectory( fileSet.getBasedir().getParentFile().getAbsolutePath() ); + if ( binary ) + { + cl.createArg().setValue( "-kb" ); + } + if ( version != null && !StringUtils.isEmpty( version.getName() ) ) { cl.createArg().setValue( "-r" ); diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -31,6 +31,7 @@ import org.apache.maven.scm.provider.cvslib.command.CvsCommand; import org.apache.maven.scm.provider.cvslib.command.CvsCommandUtils; import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -47,6 +48,29 @@ ScmVersion version ) throws ScmException { + for ( Boolean supD = rlsSUPPORTSD;; supD = Boolean.FALSE ) + { + ListScmResult res = executeListCommand1( repo, fileSet, recursive, version, supD ); + if ( res.isSuccess() || supD != null ) + { + if ( rlsSUPPORTSD == null && res.isSuccess() ) + { + rlsSUPPORTSD = supD == null ? Boolean.TRUE : supD; + } + return res; + } + // first attempt failed, support unknown + // rls: invalid option -- d + } + } + + // cvsnt does not support rls -d; Msys/Cygwin do. + private static Boolean rlsSUPPORTSD = Os.isFamily( Os.FAMILY_WINDOWS ) ? null : Boolean.TRUE; + + private ListScmResult executeListCommand1( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive, + ScmVersion version, Boolean supD ) + throws ScmException + { CvsScmProviderRepository repository = (CvsScmProviderRepository) repo; Commandline cl = CvsCommandUtils.getBaseCommand( "rls", repository, fileSet, "-n" ); @@ -57,7 +81,10 @@ cl.createArg().setValue( version.getName() ); } - cl.createArg().setValue( "-d" ); + if ( supD != Boolean.FALSE ) + { + cl.createArg().setValue( "-d" ); + } cl.createArg().setValue( "-e" ); // szakusov: to fix "Unknown file status" problem if ( recursive ) @@ -65,6 +92,16 @@ cl.createArg().setValue( "-R" ); } + String modulePref = repository.getModule(); + if ( !StringUtils.isEmpty( modulePref ) ) + { + modulePref += File.separatorChar; + } + else + { + modulePref = ""; + } + for ( Iterator it = fileSet.getFileList().iterator(); it.hasNext(); ) { File target = (File) it.next(); @@ -73,6 +110,7 @@ { path = path.substring( 1 ); } + path = modulePref + path; cl.createArg().setValue( path ); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/java/org/apache/maven/scm/provider/cvslib/command/list/CvsListConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -79,7 +79,8 @@ } else { - entries.add( new ScmFile( params[1], ScmFileStatus.UNKNOWN ) ); + String dirSuf = params[0].indexOf( 'D' ) == -1 ? "" : "/"; + entries.add( new ScmFile( params[1] + dirSuf, ScmFileStatus.UNKNOWN ) ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/mdo/cvs-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/mdo/cvs-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/mdo/cvs-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/main/mdo/cvs-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,8 @@ ~ under the License. --> - cvs diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvs-commons/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,11 +22,9 @@ import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.log.DefaultLog; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.Collection; import java.util.Iterator; @@ -65,15 +63,7 @@ throws Exception { CvsChangeLogConsumer command = new CvsChangeLogConsumer( new DefaultLog(), null ); - - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - command.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, command ); Collection entries = command.getModifications(); assertEquals( "Wrong number of entries returned", 3, entries.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-cvs - 1.9.5 + 1.11.1 maven-scm-provider-cvsexe diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/main/java/org/apache/maven/scm/provider/cvslib/cvsexe/command/list/CvsExeListCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,7 +22,7 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.command.list.ListScmResult; import org.apache.maven.scm.provider.cvslib.command.list.AbstractCvsListCommand; -import org.apache.maven.scm.provider.cvslib.command.status.CvsStatusConsumer; +import org.apache.maven.scm.provider.cvslib.command.list.CvsListConsumer; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -38,7 +38,7 @@ protected ListScmResult executeCvsCommand( Commandline cl ) throws ScmException { - CvsStatusConsumer consumer = new CvsStatusConsumer( getLogger(), cl.getWorkingDirectory() ); + CvsListConsumer consumer = new CvsListConsumer( getLogger() ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); @@ -58,7 +58,7 @@ return new ListScmResult( cl.toString(), "The cvs command failed.", stderr.getOutput(), false ); } - return new ListScmResult( cl.toString(), consumer.getChangedFiles() ); + return new ListScmResult( cl.toString(), consumer.getEntries() ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/editinfo,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsexe/src/test/tck-repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-cvs - 1.9.5 + 1.11.1 maven-scm-provider-cvsjava @@ -53,7 +53,7 @@ org.apache.maven.scm maven-scm-provider-cvstest - 1.9.5 + 1.11.1 test diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/main/java/org/apache/maven/scm/provider/cvslib/cvsjava/util/CvsConnection.java 2018-09-11 20:05:31.000000000 +0000 @@ -399,11 +399,7 @@ public static boolean processCommand( String[] args, String localPath, CVSListener listener, ScmLogger logger ) throws Exception { - // Set up the CVSRoot. Note that it might still be null after this - // call if the user has decided to set it with the -d command line - // global option GlobalOptions globalOptions = new GlobalOptions(); - globalOptions.setCVSRoot( getCVSRoot( localPath ) ); // Set up any global options specified. These occur before the // name of the command to run @@ -422,14 +418,21 @@ return false; } - // if we don't have a CVS root by now, the user has messed up + // CVSRoot might still be null if the user has NOT decided to set + // it with the -d command line global option if ( globalOptions.getCVSRoot() == null ) { - if ( logger.isErrorEnabled() ) + String cvsRoot = getCVSRoot( localPath ); + if ( cvsRoot == null ) { - logger.error( "No CVS root is set. Check your information in the POM." ); + // if we don't have a CVS root by now, the user has messed up + if ( logger.isErrorEnabled() ) + { + logger.error( "No CVS root is set. Check your information in the POM." ); + } + return false; } - return false; + globalOptions.setCVSRoot( cvsRoot ); } // parse the CVS root into its constituent parts diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/editinfo,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvsjava/src/test/tck-repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-cvs - 1.9.5 + 1.11.1 maven-scm-provider-cvstest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,6 +19,7 @@ * under the License. */ +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.changelog.ChangeLogSet; import org.apache.maven.scm.manager.ScmManager; @@ -77,8 +78,7 @@ { if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) { - System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " - + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( CvsScmTestUtils.CVS_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -21,6 +21,7 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; @@ -51,8 +52,7 @@ { if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) { - System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " - + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( CvsScmTestUtils.CVS_COMMAND_LINE, getName() ); return; } @@ -86,8 +86,7 @@ { if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) { - System.err.println( "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " - + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( CvsScmTestUtils.CVS_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,6 +22,7 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmFileStatus; +import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; @@ -84,8 +85,7 @@ { if ( !isSystemCmd( CvsScmTestUtils.CVS_COMMAND_LINE ) ) { - System.err.println( - "'" + CvsScmTestUtils.CVS_COMMAND_LINE + "' is not a system command. Ignored " + getName() + "." ); + ScmTestCase.printSystemCmdUnavail( CvsScmTestUtils.CVS_COMMAND_LINE, getName() ); return; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/editinfo,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg 2018-09-11 20:05:31.000000000 +0000 @@ -8,7 +8,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg,v maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg,v --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg,v 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/maven-scm-provider-cvstest/src/main/resources/tck-repository/CVSROOT/verifymsg,v 2018-09-11 20:05:31.000000000 +0000 @@ -29,7 +29,7 @@ # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being -# checked in (using the bug-id number or a seperate review +# checked in (using the bug-id number or a separate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-cvs/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-cvs/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-providers-cvs diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-git - 1.9.5 + 1.11.1 maven-scm-provider-git-commons @@ -40,17 +40,33 @@ modello-maven-plugin + generate-xsd-site + pre-site + + xsd + + + ${project.reporting.outputDirectory}/xsd + + + + site-docs + pre-site + + xdoc + + + + standard java xpp3-reader xpp3-writer - xsd 1.1.0 - true src/main/mdo/git-settings.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -36,7 +36,6 @@ import org.apache.maven.scm.command.diff.DiffScmResult; import org.apache.maven.scm.command.export.ExportScmResult; import org.apache.maven.scm.command.info.InfoScmResult; -import org.apache.maven.scm.command.list.ListScmResult; import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult; import org.apache.maven.scm.command.remove.RemoveScmResult; import org.apache.maven.scm.command.status.StatusScmResult; @@ -91,12 +90,12 @@ try { ScmUrlParserResult result = parseScmUrl( scmSpecificUrl, delimiter ); - + if ( result.messages.size() > 0 ) { throw new ScmRepositoryException( "The scm url " + scmSpecificUrl + " is invalid.", result.messages ); } - + return result.repository; } catch ( ScmException e ) @@ -291,17 +290,6 @@ return command.execute( repository, fileSet, parameters ); } - protected abstract GitCommand getListCommand(); - - /** {@inheritDoc} */ - public ListScmResult list( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) - throws ScmException - { - GitCommand cmd = getListCommand(); - - return (ListScmResult) executeCommand( cmd, repository, fileSet, parameters ); - } - protected abstract GitCommand getInfoCommand(); public InfoScmResult info( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) @@ -322,7 +310,7 @@ } protected abstract GitCommand getBlameCommand(); - + /** {@inheritDoc} */ public RemoteInfoScmResult remoteInfo( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepository.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,9 +23,8 @@ import org.apache.maven.scm.provider.ScmProviderRepository; import org.apache.maven.scm.provider.ScmProviderRepositoryWithHost; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; +import java.net.URI; +import java.net.URISyntaxException; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -279,32 +278,24 @@ if ( userName != null && userName.length() > 0 ) { + String userInfo = userName; + if ( password != null && password.length() > 0 ) + { + userInfo += ":" + password; + } + try { - urlSb.append( URLEncoder.encode( userName, "UTF-8" ) ); + URI uri = new URI( null, userInfo, "localhost", -1, null, null, null ); + urlSb.append( uri.getRawUserInfo() ); } - catch ( UnsupportedEncodingException e ) + catch ( URISyntaxException e ) { // Quite impossible... - // Otherwise throw a RTE, since this method is also used by toString() + // Otherwise throw a RTE since this method is also used by toString() e.printStackTrace(); } - if ( password != null && password.length() > 0 ) - { - urlSb.append( ':' ); - try - { - urlSb.append( URLEncoder.encode( password, "UTF-8" ) ); - } - catch ( UnsupportedEncodingException e ) - { - // Quite impossible... - // Otherwise throw a RTE, since this method is also used by toString() - e.printStackTrace(); - } - } - urlSb.append( '@' ); } } @@ -381,7 +372,12 @@ private String parseUserInfo( RepositoryUrl repoUrl, String url ) throws ScmException { - // extract user information + if ( PROTOCOL_FILE.equals( repoUrl.getProtocol() ) ) + { + // a file:// URL may contain userinfo according to RFC 8089, but our implementation is broken + return url; + } + // extract user information, broken see SCM-907 int indexAt = url.lastIndexOf( '@' ); if ( indexAt >= 0 ) { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/mdo/git-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/mdo/git-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/mdo/git-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/mdo/git-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,13 +19,13 @@ ~ under the License. --> - - git + git-settings Git - git Provider Model. + Git Provider Model package diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/site/site.xml 2018-09-11 20:05:31.000000000 +0000 @@ -30,6 +30,7 @@ +

diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,11 +22,10 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import org.codehaus.plexus.PlexusTestCase; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.util.List; import java.util.Map; @@ -44,14 +43,7 @@ File f = getTestFile( "/src/test/resources/git/diff/git-diff-empty.log" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List changedFiles = consumer.getChangedFiles(); @@ -65,14 +57,7 @@ File f = getTestFile( "src/test/resources/git/diff/git-diff1.log" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List changedFiles = consumer.getChangedFiles(); @@ -95,14 +80,7 @@ File f = getTestFile( "src/test/resources/git/diff/git-diff2.log" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List changedFiles = consumer.getChangedFiles(); @@ -130,4 +108,4 @@ assertEquals( expectedStatus, fileToTest.getStatus() ); } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -109,6 +109,7 @@ public void testLegalFileWindowsURL() throws Exception { + // FIXME This URL is invalid, hell knows why Git accepts it. It should be by us right away testUrl( "scm:git:file://c:\\tmp\\repo", null, "file://c:\\tmp\\repo", null, null, null, null, 0, null); } @@ -118,7 +119,7 @@ testUrl( "scm:git:https://user@gitrepos.apache.org", null, "https://user@gitrepos.apache.org", null, "user", null, "gitrepos.apache.org", 0, null); } - + public void testLegalHttpsURLWithUserPassword() throws Exception { @@ -136,17 +137,17 @@ public void testLegalSshURLWithUserPassword() throws Exception { - testUrl( "scm:git:ssh://user:password@gitrepos.apache.org", null, "ssh://user:password@gitrepos.apache.org", + testUrl( "scm:git:ssh://user:password@gitrepos.apache.org", null, "ssh://user:password@gitrepos.apache.org", null, "user", "password", "gitrepos.apache.org", 0, null); } - + public void testLegalGitURL() throws Exception { testUrl( "scm:git:git://gitrepos.apache.org", null, "git://gitrepos.apache.org", null, null, null, "gitrepos.apache.org", 0, null); } - + public void testGitDevURL() throws Exception, ScmRepositoryException { @@ -177,48 +178,48 @@ testUrl( "scm:git:ssh://git@github.com/360-Innovations/FJPAQuery.git", null, "ssh://git@github.com/360-Innovations/FJPAQuery.git", null, "git", null, "github.com", 0, null); } - + // For SCM-707 public void testSpecialCharacters() throws Exception { - testUrl( "scm:git:http://gitrepos.apache.org", "@_&_:_?_#_%20", "password", null, "http://gitrepos.apache.org", null, - "http://%40_%26_%3A_%3F_%23_%2520:password@gitrepos.apache.org", null, + testUrl( "scm:git:http://gitrepos.apache.org", "@_&_:_?_#_%20", "pass word", null, "http://gitrepos.apache.org", null, + "http://%40_&_:_%3F_%23_%2520:pass%20word@gitrepos.apache.org", null, "gitrepos.apache.org", 0, null ); - testUrl( "scm:git:http://gitrepos.apache.org", "username", "@_&_:_?_#_%20", null, "http://gitrepos.apache.org", null, - "http://username:%40_%26_%3A_%3F_%23_%2520@gitrepos.apache.org", null, + testUrl( "scm:git:http://gitrepos.apache.org", "user name", "@_&_:_?_#_%20", null, "http://gitrepos.apache.org", null, + "http://user%20name:%40_&_:_%3F_%23_%2520@gitrepos.apache.org", null, "gitrepos.apache.org", 0, null ); } - + public void testLegalGitPortUrl() throws Exception { testUrl( "scm:git:http://username@gitrepos.apache.org:8800/pmgt/trunk", null, "http://username@gitrepos.apache.org:8800/pmgt/trunk", null, "username", null, "gitrepos.apache.org", 8800, null); - + testUrl( "scm:git:https://username@gitrepos.apache.org:20443/pmgt/trunk", null, "https://username@gitrepos.apache.org:20443/pmgt/trunk", null, "username", null, "gitrepos.apache.org", 20443, null); - + testUrl( "scm:git:git://username@gitrepos.apache.org:8800/pmgt/trunk", - null, "git://username@gitrepos.apache.org:8800/pmgt/trunk", + null, "git://username@gitrepos.apache.org:8800/pmgt/trunk", null, "username", null, "gitrepos.apache.org", 8800, null); - + testUrl( "scm:git:ssh://username@gitrepos.apache.org:8080/pmgt/trunk", - null, "ssh://username@gitrepos.apache.org:8080/pmgt/trunk", + null, "ssh://username@gitrepos.apache.org:8080/pmgt/trunk", null, "username", null, "gitrepos.apache.org", 8080, null); testUrl( "scm:git:ssh://username:password@gitrepos.apache.org/pmgt/trunk", - null, "ssh://username:password@gitrepos.apache.org/pmgt/trunk", + null, "ssh://username:password@gitrepos.apache.org/pmgt/trunk", null, "username", "password", "gitrepos.apache.org", 0, null); - + } - + public void testUsernameWithAtAndPasswordInUrl() throws ScmRepositoryException, Exception{ testUrl( "scm:git:http://username@site.com:password@gitrepos.apache.org:8800/pmgt/trunk", null, "http://username%40site.com:password@gitrepos.apache.org:8800/pmgt/trunk", @@ -233,17 +234,17 @@ public void testHttpFetchSshPushUrl() throws Exception { - testUrl( "scm:git:[fetch=]http://git.apache.org/myprj.git[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", + testUrl( "scm:git:[fetch=]http://git.apache.org/myprj.git[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", "[fetch=]http://myuser:mypassword@git.apache.org/myprj.git[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", "http://myuser:mypassword@git.apache.org/myprj.git", "ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", "myuser", "mypassword", "git.apache.org", 0, null); - testUrl( "scm:git:[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git[fetch=]http://git.apache.org/myprj.git", + testUrl( "scm:git:[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git[fetch=]http://git.apache.org/myprj.git", "[fetch=]http://myuser:mypassword@git.apache.org/myprj.git[push=]ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", "http://myuser:mypassword@git.apache.org/myprj.git", "ssh://myuser:mypassword@git.apache.org/~/myrepo/myprj.git", "myuser", "mypassword", "git.apache.org", 0, null); } - + // ---------------------------------------------------------------------- // Testing illegal URLs // ---------------------------------------------------------------------- @@ -255,7 +256,7 @@ { testIllegalUrl( "file:/tmp/git" ); } - + // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- @@ -268,29 +269,29 @@ { ScmRepository repository = testScmRepository( scmUrl, expectedToString, expectedFetchUrl ); - + GitScmProviderRepository providerRepository = (GitScmProviderRepository) repository.getProviderRepository(); return testScmProviderRepository( expectedToString, expectedFetchUrl, expectedPushUrl, expectedUser, expectedPassword, expectedHost, expectedPort, providerRepository ); - + } - private GitScmProviderRepository testUrl(String scmUrl, String username, String password, - String expectedScmRepositoryToString, String expectedScmRepositoryFetchUrl, + private GitScmProviderRepository testUrl(String scmUrl, String username, String password, + String expectedScmRepositoryToString, String expectedScmRepositoryFetchUrl, String expectedScmProviderRepositoryToString, String expectedScmProviderRepositoryFetchUrl, String expectedPushUrl, String expectedHost, int expectedPort, String expectedPath) throws Exception, ScmRepositoryException { - + ScmRepository repository = testScmRepository( scmUrl, expectedScmRepositoryToString, expectedScmRepositoryFetchUrl ); GitScmProviderRepository providerRepository = (GitScmProviderRepository) repository.getProviderRepository(); providerRepository.setUser( username ); - + providerRepository.setPassword( password ); - + return testScmProviderRepository( expectedScmProviderRepositoryToString, expectedScmProviderRepositoryFetchUrl, expectedPushUrl, username, password, expectedHost, expectedPort, providerRepository ); } @@ -302,7 +303,7 @@ GitScmProviderRepository providerRepository ) { assertEquals( "fetch url is incorrect", expectedFetchUrl, providerRepository.getFetchUrl() ); - + if ( expectedPushUrl != null ) { assertEquals( "push url is incorrect", expectedPushUrl, providerRepository.getPushUrl() ); @@ -313,7 +314,7 @@ assertEquals( "Password is incorrect", expectedPassword, providerRepository.getPassword() ); assertEquals( "Host is incorrect", expectedHost == null ? "" : expectedHost, providerRepository.getHost() ); - + if ( expectedPort > 0 ) { assertEquals( "Port is incorrect", expectedPort, providerRepository.getPort() ); @@ -333,7 +334,7 @@ assertTrue( "The SCM Repository isn't a " + GitScmProviderRepository.class.getName() + ".", repository .getProviderRepository() instanceof GitScmProviderRepository ); - + if ( expectedToString != null ) { assertEquals( "toString is incorrect", "git:" + expectedToString, repository.toString() ); @@ -345,7 +346,7 @@ return repository; } - + private void testIllegalUrl( String url ) throws Exception { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/TestGitScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -81,11 +81,6 @@ return null; } - protected GitCommand getListCommand() - { - return null; - } - protected GitCommand getInfoCommand() { return null; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-git - 1.9.5 + 1.11.1 maven-scm-provider-gitexe diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -69,31 +69,12 @@ { return result; } - + // SCM-709: statusCommand uses repositoryRoot instead of workingDirectory, adjust it with relativeRepositoryPath - Commandline clRevparse = GitStatusCommand.createRevparseShowToplevelCommand( fileSet ); - - CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); - CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); + URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( this, fileSet ); - URI relativeRepositoryPath = null; - int exitCode; - - exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, getLogger() ); - if ( exitCode != 0 ) - { - // git-status returns non-zero if nothing to do - if ( getLogger().isInfoEnabled() ) - { - getLogger().info( "Could not resolve toplevel" ); - } - } - else - { - relativeRepositoryPath = - GitStatusConsumer.resolveURI( stdout.getOutput().trim(), fileSet.getBasedir().toURI() ); - } + CommandLineUtils.StringStreamConsumer stderr; // git-add doesn't show single files, but only summary :/ // so we must run git-status and consume the output diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -69,6 +69,14 @@ return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, null, null ); } + @Override + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + return executeChangeLogCommand( repository, fileSet, null, null, null, datePattern, null, null, null, version ); + } + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, Date startDate, Date endDate, ScmBranch branch, String datePattern, ScmVersion startVersion, @@ -76,7 +84,7 @@ throws ScmException { return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, startVersion, - endVersion, null ); + endVersion, null, null ); } @Override @@ -85,11 +93,17 @@ { final ScmVersion startVersion = request.getStartRevision(); final ScmVersion endVersion = request.getEndRevision(); + final ScmVersion revision = request.getRevision(); final ScmFileSet fileSet = request.getScmFileSet(); final String datePattern = request.getDatePattern(); - return executeChangeLogCommand( request.getScmRepository().getProviderRepository(), fileSet, - request.getStartDate(), request.getEndDate(), request.getScmBranch(), datePattern, startVersion, - endVersion, request.getLimit() ); + final ScmProviderRepository providerRepository = request.getScmRepository().getProviderRepository(); + final Date startDate = request.getStartDate(); + final Date endDate = request.getEndDate(); + final ScmBranch branch = request.getScmBranch(); + final Integer limit = request.getLimit(); + + return executeChangeLogCommand( providerRepository, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, limit, revision ); } protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, @@ -98,8 +112,18 @@ ScmVersion endVersion, Integer limit ) throws ScmException { + return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, limit, null ); + } + + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, + Date startDate, Date endDate, ScmBranch branch, + String datePattern, ScmVersion startVersion, + ScmVersion endVersion, Integer limit, ScmVersion version ) + throws ScmException + { Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet.getBasedir(), branch, startDate, - endDate, startVersion, endVersion, limit ); + endDate, startVersion, endVersion, limit, version ); GitChangeLogConsumer consumer = new GitChangeLogConsumer( getLogger(), datePattern ); @@ -137,8 +161,17 @@ } static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, + ScmBranch branch, Date startDate, Date endDate, + ScmVersion startVersion, ScmVersion endVersion, Integer limit ) + { + return createCommandLine( repository, workingDirectory, branch, startDate, endDate, startVersion, endVersion, + limit, null ); + } + + static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, ScmBranch branch, Date startDate, Date endDate, - ScmVersion startVersion, ScmVersion endVersion, Integer limit ) + ScmVersion startVersion, ScmVersion endVersion, Integer limit, + ScmVersion version ) { SimpleDateFormat dateFormat = new SimpleDateFormat( DATE_FORMAT ); dateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) ); @@ -166,21 +199,25 @@ if ( startVersion != null || endVersion != null ) { StringBuilder versionRange = new StringBuilder(); - + if ( startVersion != null ) { versionRange.append( StringUtils.escape( startVersion.getName() ) ); } versionRange.append( ".." ); - + if ( endVersion != null ) { versionRange.append( StringUtils.escape( endVersion.getName() ) ); } - - cl.createArg().setValue( versionRange.toString() ); + cl.createArg().setValue( versionRange.toString() ); + + } + else if ( version != null ) + { + cl.createArg().setValue( StringUtils.escape( version.getName() ) ); } if ( limit != null && limit > 0 ) @@ -199,7 +236,7 @@ // We have to report only the changes of the current project. // This is needed for child projects, otherwise we would get the changelog of the // whole parent-project including all childs. - cl.createArg().setFile( workingDirectory ); + cl.createArg().setValue( "." ); return cl; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -38,6 +38,7 @@ import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand; import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusConsumer; import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -45,6 +46,7 @@ import java.io.IOException; import java.net.URI; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -66,12 +68,12 @@ CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); - int exitCode; + int exitCode = -1; File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null ); try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), message ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message ); } catch ( IOException ex ) { @@ -86,41 +88,40 @@ // if specific fileSet is given, we have to git-add them first // otherwise we will use 'git-commit -a' later - Commandline clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); + Commandline clAdd = null; - exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); + //SCM-714: Workaround for the Windows terminal command limit + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + for ( File file: fileSet.getFileList() ) + { + clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), + Collections.singletonList( file ) ); + exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); + + if ( exitCode != 0 ) + { + break; + } + } + } + else + { + clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); + exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); + } if ( exitCode != 0 ) { - return new CheckInScmResult( clAdd.toString(), "The git-add command failed.", stderr.getOutput(), - false ); + return new CheckInScmResult( clAdd.toString(), "The git-add command failed.", + stderr.getOutput(), false ); } } - + // SCM-709: statusCommand uses repositoryRoot instead of workingDirectory, adjust it with // relativeRepositoryPath - Commandline clRevparse = GitStatusCommand.createRevparseShowToplevelCommand( fileSet ); - - stdout = new CommandLineUtils.StringStreamConsumer(); - stderr = new CommandLineUtils.StringStreamConsumer(); - - URI relativeRepositoryPath = null; - - exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, getLogger() ); - if ( exitCode != 0 ) - { - // git-status returns non-zero if nothing to do - if ( getLogger().isInfoEnabled() ) - { - getLogger().info( "Could not resolve toplevel" ); - } - } - else - { - relativeRepositoryPath = - GitStatusConsumer.resolveURI( stdout.getOutput().trim(), fileSet.getBasedir().toURI() ); - } + URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( this, fileSet ); // git-commit doesn't show single files, but only summary :/ // so we must run git-status and consume the output @@ -128,7 +129,7 @@ Commandline clStatus = GitStatusCommand.createCommandLine( repository, fileSet ); GitStatusConsumer statusConsumer = - new GitStatusConsumer( getLogger(), fileSet.getBasedir(), relativeRepositoryPath ); + new GitStatusConsumer( getLogger(), fileSet.getBasedir(), relativeRepositoryPath, fileSet ); exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr, getLogger() ); if ( exitCode != 0 ) { @@ -139,7 +140,7 @@ + "track)" ); } } - + if ( statusConsumer.getChangedFiles().isEmpty() ) { return new CheckInScmResult( null, statusConsumer.getChangedFiles() ); @@ -154,7 +155,7 @@ false ); } - if ( repo.isPushChanges() ) + if ( repo.isPushChanges() ) { Commandline cl = createPushCommandLine( getLogger(), repository, fileSet, version ); @@ -163,7 +164,7 @@ { return new CheckInScmResult( cl.toString(), "The git-push command failed.", stderr.getOutput(), false ); - } + } } List checkedInFiles = new ArrayList( statusConsumer.getChangedFiles().size() ); @@ -218,14 +219,14 @@ Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" ); String branch = GitBranchCommand.getCurrentBranch( logger, repository, fileSet ); - + if ( branch == null || branch.length() == 0 ) { throw new ScmException( "Could not detect the current branch. Don't know where I should push to!" ); } - + cl.createArg().setValue( repository.getPushUrl() ); - + cl.createArg().setValue( "refs/heads/" + branch + ":" + "refs/heads/" + branch ); return cl; @@ -248,11 +249,6 @@ // commit all tracked files cl.createArg().setValue( "-a" ); } - else - { - // specify exactly which files to commit - GitCommandLineUtils.addTarget( cl, fileSet.getFileList() ); - } if ( GitUtil.getSettings().isCommitNoVerify() ) { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,10 +19,15 @@ * under the License. */ +import java.io.File; + +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.ScmFileStatus; +import org.apache.maven.scm.ScmResult; import org.apache.maven.scm.ScmTag; import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand; @@ -39,8 +44,6 @@ import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; -import java.io.File; - /** * @author Mark Struberg * @@ -57,10 +60,15 @@ * TODO We currently assume a '.git' directory, so this does not work for --bare repos * {@inheritDoc} */ - protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + @Override + public ScmResult executeCommand( ScmProviderRepository repo, ScmFileSet fileSet, + CommandParameters parameters ) throws ScmException { + ScmVersion version = parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + boolean binary = parameters.getBoolean( CommandParameter.BINARY, false ); + boolean shallow = parameters.getBoolean( CommandParameter.SHALLOW, false ); + GitScmProviderRepository repository = (GitScmProviderRepository) repo; if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) @@ -85,7 +93,7 @@ } // no git repo seems to exist, let's clone the original repo - Commandline clClone = createCloneCommand( repository, fileSet.getBasedir(), version ); + Commandline clClone = createCloneCommand( repository, fileSet.getBasedir(), version, binary, shallow ); exitCode = GitCommandLineUtils.execute( clClone, stdout, stderr, getLogger() ); if ( exitCode != 0 ) @@ -163,10 +171,19 @@ * create a git-clone repository command */ private Commandline createCloneCommand( GitScmProviderRepository repository, File workingDirectory, - ScmVersion version ) + ScmVersion version, boolean binary, boolean shallow ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory.getParentFile(), "clone" ); + forceBinary( cl, binary ); + + if ( shallow ) + { + cl.createArg().setValue( "--depth" ); + + cl.createArg().setValue( "1" ); + } + if ( version != null && ( version instanceof ScmBranch ) ) { @@ -177,11 +194,20 @@ cl.createArg().setValue( repository.getFetchUrl() ); - cl.createArg().setFile( workingDirectory ); + cl.createArg().setValue( workingDirectory.getName() ); return cl; } + private void forceBinary( Commandline cl, boolean binary ) + { + if ( binary ) + { + cl.createArg().setValue( "-c" ); + cl.createArg().setValue( "core.autocrlf=false" ); + } + } + /** * create a git-pull repository command */ @@ -197,8 +223,8 @@ // A tag will not be pulled but we only fetch all the commits from the upstream repo // This is done because checking out a tag might not happen on the current branch // but create a 'detached HEAD'. - // In fact, a tag in git may be in multiple branches. This occurs if - // you create a branch after the tag has been created + // In fact, a tag in git may be in multiple branches. This occurs if + // you create a branch after the tag has been created cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "fetch" ); cl.createArg().setValue( repository.getFetchUrl() ); @@ -221,4 +247,17 @@ } return cl; } + + /** + * The overriden {@link #executeCommand(ScmProviderRepository, ScmFileSet, CommandParameters)} in this class will + * not call this method! + *

+ * {@inheritDoc} + */ + protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, + ScmVersion version, boolean recursive, boolean shallow ) + throws ScmException + { + throw new UnsupportedOperationException( "Should not get here" ); + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,6 +19,8 @@ * under the License. */ +import org.apache.commons.io.FilenameUtils; + import org.apache.maven.scm.ScmException; import org.apache.maven.scm.log.ScmLogger; import org.apache.maven.scm.provider.git.util.GitUtil; @@ -34,7 +36,7 @@ /** * Command line construction utility. - * + * * @author Brett Porter * @author Mark Struberg * @@ -73,7 +75,7 @@ } // no setFile() since this screws up the working directory! - cl.createArg().setValue( relativeFile ); + cl.createArg().setValue( FilenameUtils.separatorsToUnix( relativeFile ) ); } } catch ( IOException ex ) @@ -84,7 +86,7 @@ } /** - * + * * @param workingDirectory * @param command * @return @@ -97,7 +99,7 @@ /** * Creates a {@link Commandline} for which the toString() do not display * password. - * + * * @param workingDirectory * @param command * @return CommandLine with anonymous output. @@ -176,4 +178,4 @@ return exitCode; } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -47,7 +47,7 @@ super( logger ); this.scmFileSet = scmFileSet; } - + /** * @see org.codehaus.plexus.util.cli.StreamConsumer#consumeLine(java.lang.String) */ @@ -57,14 +57,14 @@ { getLogger().debug( "consume line " + line ); } - + if ( infoItems.isEmpty() ) { if ( !StringUtils.isEmpty( line ) ) { InfoItem infoItem = new InfoItem(); infoItem.setRevision( StringUtils.trim( line ) ); - infoItem.setURL( scmFileSet.getBasedir().getPath() ); + infoItem.setURL( scmFileSet.getBasedir().toPath().toUri().toASCIIString() ); infoItems.add( infoItem ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,63 +19,18 @@ * under the License. */ -import org.apache.maven.scm.ScmException; -import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.ScmFileStatus; -import org.apache.maven.scm.ScmVersion; -import org.apache.maven.scm.command.list.AbstractListCommand; -import org.apache.maven.scm.command.list.ListScmResult; -import org.apache.maven.scm.provider.ScmProviderRepository; -import org.apache.maven.scm.provider.git.command.GitCommand; -import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository; +import java.io.File; + import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils; -import org.codehaus.plexus.util.cli.CommandLineUtils; +import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository; import org.codehaus.plexus.util.cli.Commandline; -import java.io.File; - /** * @author Mark Struberg * */ public class GitListCommand - extends AbstractListCommand - implements GitCommand { - /** {@inheritDoc} */ - protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive, - ScmVersion scmVersion ) - throws ScmException - { - GitScmProviderRepository repository = (GitScmProviderRepository) repo; - - if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() ) - && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 ) - { - throw new ScmException( "remote repository must not be the working directory" ); - } - - int exitCode; - - CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); - GitListConsumer consumer = new GitListConsumer( getLogger(), fileSet.getBasedir().getParentFile(), - ScmFileStatus.CHECKED_IN ); - - Commandline cl = createCommandLine( repository, fileSet.getBasedir() ); - - exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() ); - if ( exitCode != 0 ) - { - return new ListScmResult( cl.toString(), "The git-ls-files command failed.", stderr.getOutput(), false ); - } - - return new ListScmResult( cl.toString(), consumer.getListedFiles() ); - } - - // ---------------------------------------------------------------------- - // - // ---------------------------------------------------------------------- - public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "ls-files" ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,6 +23,7 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.AbstractCommand; import org.apache.maven.scm.command.status.AbstractStatusCommand; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; @@ -44,29 +45,10 @@ protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet ) throws ScmException { - Commandline clRevparse = createRevparseShowToplevelCommand( fileSet ); - - CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); - CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); - - URI relativeRepositoryPath = null; - int exitCode; + CommandLineUtils.StringStreamConsumer stderr; - exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, getLogger() ); - if ( exitCode != 0 ) - { - // git-status returns non-zero if nothing to do - if ( getLogger().isInfoEnabled() ) - { - getLogger().info( "Could not resolve toplevel" ); - } - } - else - { - relativeRepositoryPath = - GitStatusConsumer.resolveURI( stdout.getOutput().trim(), fileSet.getBasedir().toURI() ); - } + URI relativeRepositoryPath = getRelativeCWD( this, fileSet ); Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet ); @@ -91,6 +73,40 @@ // // ---------------------------------------------------------------------- + /** + * Get the dir relative to the repository root. + * + * @param caller the caller command. + * @param fileSet in which subdir to execute. + * @return the relative URI. + * @throws ScmException if execute() fails. + */ + public static URI getRelativeCWD( AbstractCommand caller, ScmFileSet fileSet ) + throws ScmException + { + Commandline clRevparse = createRevparseShowPrefix( fileSet ); + + CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); + CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); + + URI relativeRepositoryPath = null; + + int exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, caller.getLogger() ); + if ( exitCode != 0 ) + { + // git-status returns non-zero if nothing to do + if ( caller.getLogger().isInfoEnabled() ) + { + caller.getLogger().info( "Could not resolve prefix" ); + } + } + else + { + relativeRepositoryPath = GitStatusConsumer.uriFromPath( stdout.getOutput().trim() ); + } + return relativeRepositoryPath; + } + public static Commandline createCommandLine( GitScmProviderRepository repository, ScmFileSet fileSet ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "status" ); @@ -98,10 +114,10 @@ return cl; } - public static Commandline createRevparseShowToplevelCommand( ScmFileSet fileSet ) + public static Commandline createRevparseShowPrefix( ScmFileSet fileSet ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "rev-parse" ); - cl.addArguments( new String[] { "--show-toplevel" } ); + cl.addArguments( new String[] { "--show-prefix" } ); return cl; } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,6 +22,7 @@ import java.io.File; import java.io.UnsupportedEncodingException; import java.net.URI; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; @@ -30,6 +31,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; +import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.log.ScmLogger; import org.codehaus.plexus.util.cli.StreamConsumer; @@ -64,6 +66,8 @@ private File workingDirectory; + private ScmFileSet scmFileSet; + /** * Entries are relative to working directory, not to the repositoryroot */ @@ -98,7 +102,7 @@ * @param workingDirectory the working directory * @param relativeRepositoryPath the working directory relative to the repository root * @since 1.9 - * @see GitStatusCommand#createRevparseShowToplevelCommand(org.apache.maven.scm.ScmFileSet) + * @see GitStatusCommand#createRevparseShowPrefix(org.apache.maven.scm.ScmFileSet) */ public GitStatusConsumer( ScmLogger logger, File workingDirectory, URI relativeRepositoryPath ) { @@ -106,6 +110,46 @@ this.relativeRepositoryPath = relativeRepositoryPath; } + /** + * Assuming that you have to discover the repositoryRoot, this is how you can get the + * relativeRepositoryPath + *

+     * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
+     * 
+ * + * @param logger the logger + * @param workingDirectory the working directory + * @param scmFileSet fileset with includes and excludes + * @since 1.11.0 + * @see GitStatusCommand#createRevparseShowToplevelCommand(org.apache.maven.scm.ScmFileSet) + */ + public GitStatusConsumer( ScmLogger logger, File workingDirectory, ScmFileSet scmFileSet ) + { + this( logger, workingDirectory ); + this.scmFileSet = scmFileSet; + } + + /** + * Assuming that you have to discover the repositoryRoot, this is how you can get the + * relativeRepositoryPath + *
+     * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
+     * 
+ * + * @param logger the logger + * @param workingDirectory the working directory + * @param relativeRepositoryPath the working directory relative to the repository root + * @param scmFileSet fileset with includes and excludes + * @since 1.11.0 + * @see GitStatusCommand#createRevparseShowToplevelCommand(org.apache.maven.scm.ScmFileSet) + */ + public GitStatusConsumer( ScmLogger logger, File workingDirectory, URI relativeRepositoryPath, + ScmFileSet scmFileSet ) + { + this( logger, workingDirectory, scmFileSet ); + this.relativeRepositoryPath = relativeRepositoryPath; + } + // ---------------------------------------------------------------------- // StreamConsumer Implementation // ---------------------------------------------------------------------- @@ -204,22 +248,42 @@ for ( String file : files ) { - changedFiles.add( new ScmFile( file, status ) ); + if ( this.scmFileSet != null && !isFileNameInFileList( this.scmFileSet.getFileList(), file ) ) + { + // skip adding this file + } + else + { + changedFiles.add( new ScmFile( file, status ) ); + } } } } - private boolean isFile( String file ) + private boolean isFileNameInFileList( List fileList, String fileName ) { - File targetFile; if ( relativeRepositoryPath == null ) { - targetFile = new File( workingDirectory, file ); + return fileList.contains( new File( fileName ) ); } else { - targetFile = new File( relativeRepositoryPath.getPath(), file ); + for ( File f : fileList ) + { + File file = new File( relativeRepositoryPath.getPath(), fileName ); + if ( file.getPath().endsWith( f.getName() ) ) + { + return true; + } + } + return fileList.isEmpty(); } + + } + + private boolean isFile( String file ) + { + File targetFile = new File( workingDirectory, file ); return targetFile.isFile(); } @@ -248,9 +312,37 @@ // When using URI.create, spaces need to be escaped but not the slashes, so we can't use // URLEncoder.encode( String, String ) // new File( String ).toURI() results in an absolute URI while path is relative, so that can't be used either. - return path.relativize( URI.create( stripQuotes( fileEntry ).replace( " ", "%20" ) ) ); + return path.relativize( uriFromPath( stripQuotes ( fileEntry ) ) ); } + /** + * Create an URI whose getPath() returns the given path and getScheme() returns null. The path may contain spaces, + * colons, and other special characters. + * + * @param path the path. + * @return the new URI + */ + public static URI uriFromPath( String path ) + { + try + { + if ( path != null && path.indexOf( ':' ) != -1 ) + { + // prefixing the path so the part preceding the colon does not become the scheme + String tmp = new URI( null, null, "/x" + path, null ).toString().substring( 2 ); + // the colon is not escaped by default + return new URI( tmp.replace( ":", "%3A" ) ); + } + else + { + return new URI( null, null, path, null ); + } + } + catch ( URISyntaxException x ) + { + throw new IllegalArgumentException( x.getMessage(), x ); + } + } public List getChangedFiles() { @@ -264,7 +356,9 @@ private static String stripQuotes( String str ) { int strLen = str.length(); - return ( strLen > 0 && str.startsWith( "\"" ) && str.endsWith( "\"" ) ) ? unescape( str.substring( 1, strLen - 1 ) ) : str; + return ( strLen > 0 && str.startsWith( "\"" ) && str.endsWith( "\"" ) ) + ? unescape( str.substring( 1, strLen - 1 ) ) + : str; } /** @@ -348,7 +442,7 @@ inSub--; break; } - pos = fileEntry.indexOf( '\\', inSub); + pos = fileEntry.indexOf( '\\', inSub ); if ( pos == -1 ) // No more backslashes; we're done { System.arraycopy( inba, inSub, outba, outSub, inba.length - inSub ); @@ -359,7 +453,7 @@ try { // explicit say UTF-8, otherwise it'll fail at least on Windows cmdline - return new String(outba, 0, outSub, "UTF-8"); + return new String( outba, 0, outSub, "UTF-8" ); } catch ( UnsupportedEncodingException e ) { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -77,7 +77,7 @@ try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), scmTagParameters.getMessage() ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmTagParameters.getMessage() ); } catch ( IOException ex ) { @@ -92,7 +92,9 @@ int exitCode; - Commandline clTag = createCommandLine( repository, fileSet.getBasedir(), tag, messageFile ); + boolean sign = scmTagParameters.isSign(); + + Commandline clTag = createCommandLine( repository, fileSet.getBasedir(), tag, messageFile, sign ); exitCode = GitCommandLineUtils.execute( clTag, stdout, stderr, getLogger() ); if ( exitCode != 0 ) @@ -147,10 +149,15 @@ // ---------------------------------------------------------------------- public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, - String tag, File messageFile ) + String tag, File messageFile, boolean sign ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "tag" ); + if ( sign ) + { + cl.createArg().setValue( "-s" ); + } + cl.createArg().setValue( "-F" ); cl.createArg().setValue( messageFile.getAbsolutePath() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -96,7 +96,7 @@ stderr.getOutput(), false ); } - + // now let's get the latest version consumerRev = new GitLatestRevisionCommandConsumer( getLogger() ); exitCode = GitCommandLineUtils.execute( clRev, consumerRev, stderr, getLogger() ); @@ -106,7 +106,7 @@ stderr.getOutput(), false ); } String latestRevision = consumerRev.getLatestRevision(); - + return new UpdateScmResultWithRevision( cl.toString(), diffRawConsumer.getChangedFiles(), latestRevision ); } @@ -115,18 +115,18 @@ { GitChangeLogCommand changelogCmd = new GitChangeLogCommand(); changelogCmd.setLogger( getLogger() ); - + return changelogCmd; } - + /** - * create the command line for updating the current branch with the info from the foreign repository. + * create the command line for updating the current branch with the info from the foreign repository. */ public static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, ScmVersion scmVersion ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "pull" ); - + cl.createArg().setLine( repository.getFetchUrl() ); // now set the branch where we would like to pull from @@ -134,14 +134,10 @@ { cl.createArg().setLine( scmVersion.getName() ); } - else - { - cl.createArg().setLine( "master" ); - } - + return cl; } - + /** * @param scmVersion a valid branch or null if the master branch should be taken * @return CommandLine for getting the latest commit on the given branch @@ -150,25 +146,21 @@ File workingDirectory, ScmVersion scmVersion ) { Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( workingDirectory, "log" ); - + // only show exactly 1 commit - cl.createArg().setValue( "-n1" ); - + cl.createArg().setValue( "-n1" ); + // same as --topo-order, but ensure ordering of merges cl.createArg().setValue( "--date-order" ); - + if ( scmVersion != null && scmVersion instanceof ScmBranch && scmVersion.getName() != null && scmVersion.getName().length() > 0 ) { // if any branch is given, lets take em cl.createArg().setValue( scmVersion.getName() ); } - else - { - // otherwise we work on the master branch - cl.createArg().setValue( "master" ); - } - + // otherwise we work on HEAD/current branch + return cl; } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java 2018-09-11 20:05:31.000000000 +0000 @@ -34,7 +34,6 @@ import org.apache.maven.scm.provider.git.gitexe.command.checkout.GitCheckOutCommand; import org.apache.maven.scm.provider.git.gitexe.command.diff.GitDiffCommand; import org.apache.maven.scm.provider.git.gitexe.command.info.GitInfoCommand; -import org.apache.maven.scm.provider.git.gitexe.command.list.GitListCommand; import org.apache.maven.scm.provider.git.gitexe.command.remoteinfo.GitRemoteInfoCommand; import org.apache.maven.scm.provider.git.gitexe.command.remove.GitRemoveCommand; import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand; @@ -118,12 +117,6 @@ } /** {@inheritDoc} */ - protected GitCommand getListCommand() - { - return new GitListCommand(); - } - - /** {@inheritDoc} */ public GitCommand getInfoCommand() { return new GitInfoCommand(); @@ -148,7 +141,8 @@ // Note: I need to supply just 1 absolute path, but ScmFileSet won't let me without // a basedir (which isn't used here anyway), so use a dummy file. // and a dummy ScmProviderRepository - InfoScmResult result = info( new GitScmProviderRepository( path.getPath() ), new ScmFileSet( path ), null ); + InfoScmResult result = info( new GitScmProviderRepository( path.toPath().toUri().toASCIIString() ), + new ScmFileSet( path ), null ); if ( result.getInfoItems().size() != 1 ) { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,6 +22,7 @@ import junit.framework.Assert; import org.apache.maven.scm.command.blame.BlameLine; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import org.codehaus.plexus.PlexusTestCase; import java.io.BufferedReader; @@ -54,7 +55,6 @@ Assert.assertNotNull( blameLine.getDate() ); } - public void testConsumer() throws Exception { @@ -80,7 +80,6 @@ Assert.assertEquals( 0, consumer.getLines().size() ); } - /** * Test what happens if a git-blame command got invoked on a * file which didn't got added to the git repo yet. @@ -158,7 +157,7 @@ Assert.assertEquals( "error in line " + lineNr, parts[1], blameLine.getAuthor() ); Assert.assertEquals( "error in line " + lineNr, parts[2], blameDateFormat.format( blameLine.getDate() ) ); - lineNr ++; + lineNr++; } if ( consumerLineIt.hasNext() ) @@ -166,7 +165,6 @@ fail( "GitBlameConsumer found more lines than in the original output!" ); } - } /** @@ -182,14 +180,9 @@ File f = getTestFile( fileName ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; + ConsumerUtils.consumeFile( f, consumer ); - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } return consumer; } + } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -52,16 +52,14 @@ throws Exception { testCommandLine( "scm:git:http://foo.com/git", null, (Date) null, (Date) null, 40, - "git whatchanged --date=iso --max-count=40" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso --max-count=40 -- ." ); } public void testCommandLineNoDatesLimitedCount() throws Exception { testCommandLine( "scm:git:http://foo.com/git", null, (Date) null, (Date) null, - "git whatchanged --date=iso" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso -- ." ); } public void testCommandLineWithDates() @@ -71,8 +69,7 @@ Date endDate = getDate( 2007, Calendar.OCTOBER, 10, GMT_TIME_ZONE ); testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate, - "git whatchanged \"--since=2003-09-10 00:00:00 +0000\" \"--until=2007-10-10 00:00:00 +0000\" --date=iso" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged \"--since=2003-09-10 00:00:00 +0000\" \"--until=2007-10-10 00:00:00 +0000\" --date=iso -- ." ); } public void testCommandLineStartDateOnly() @@ -81,8 +78,7 @@ Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE ); testCommandLine( "scm:git:http://foo.com/git", null, startDate, null, - "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" --date=iso" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" --date=iso -- ." ); } public void testCommandLineDateFormat() @@ -92,8 +88,7 @@ Date endDate = getDate( 2005, Calendar.NOVEMBER, 13, 23, 23, 23, GMT_TIME_ZONE ); testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate, - "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso -- ." ); } public void testCommandLineDateVersionRanges() @@ -103,8 +98,7 @@ Date endDate = getDate( 2005, Calendar.NOVEMBER, 13, 23, 23, 23, GMT_TIME_ZONE ); testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate, new ScmRevision( "1" ), new ScmRevision( "10" ), - "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso 1..10" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13 23:23:23 +0000\" --date=iso 1..10 -- ." ); } public void testCommandLineEndDateOnly() @@ -114,16 +108,14 @@ // Only specifying end date should print no dates at all testCommandLine( "scm:git:http://foo.com/git", null, null, endDate, - "git whatchanged \"--until=2003-11-10 00:00:00 +0000\" --date=iso" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged \"--until=2003-11-10 00:00:00 +0000\" --date=iso -- ." ); } public void testCommandLineWithBranchNoDates() throws Exception { testCommandLine( "scm:git:http://foo.com/git", new ScmBranch( "my-test-branch" ), (Date) null, (Date) null, - "git whatchanged --date=iso my-test-branch" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso my-test-branch -- ." ); } @@ -131,32 +123,28 @@ throws Exception { testCommandLine( "scm:git:http://foo.com/git", null, new ScmRevision( "1" ), null, - "git whatchanged --date=iso 1.." - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso 1.. -- ." ); } public void testCommandLineWithStartVersionAndEndVersion() throws Exception { testCommandLine( "scm:git:http://foo.com/git", null, new ScmRevision( "1" ), new ScmRevision( "10" ), - "git whatchanged --date=iso 1..10" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso 1..10 -- ." ); } public void testCommandLineWithStartVersionAndEndVersionEquals() throws Exception { testCommandLine( "scm:git:http://foo.com/git", null, new ScmRevision( "1" ), new ScmRevision( "1" ), - "git whatchanged --date=iso 1..1" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso 1..1 -- ." ); } public void testCommandLineWithStartVersionAndEndVersionAndBranch() throws Exception { testCommandLine( "scm:git:http://foo.com/git", new ScmBranch( "my-test-branch" ), new ScmRevision( "1" ), new ScmRevision( "10" ), - "git whatchanged --date=iso 1..10 my-test-branch" - + " -- " + StringUtils.quoteAndEscape( workingDirectory.getPath(), '"' ) ); + "git whatchanged --date=iso 1..10 my-test-branch -- ." ); } // ---------------------------------------------------------------------- diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,12 +23,11 @@ import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import org.codehaus.plexus.PlexusTestCase; import org.junit.Assert; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.text.SimpleDateFormat; import java.util.Iterator; import java.util.LinkedHashMap; @@ -53,7 +52,7 @@ //iso Date: 2007-11-24 01:13:10 +0100 Pattern datePattern = Pattern.compile( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)" ); Matcher matcher = datePattern.matcher( "Date: 2007-11-24 01:13:10 +0100" ); - + assertTrue( matcher.matches() ); assertEquals("2007-11-24 01:13:10 +0100", matcher.group( 1 )); @@ -61,14 +60,7 @@ File f = getTestFile( "/src/test/resources/git/changelog/gitwhatchanged.gitlog" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List modifications = consumer.getModifications(); @@ -117,14 +109,7 @@ File f = getTestFile( "/src/test/resources/git/changelog/gitwhatchanged2.gitlog" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List modifications = consumer.getModifications(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -25,6 +25,7 @@ import org.apache.maven.scm.command.add.AddScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.provider.git.GitScmTestUtils; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.util.FileUtils; @@ -52,7 +53,7 @@ { if ( !ScmTestCase.isSystemCmd( "git" ) ) { - System.out.println( "skip test which git native executable in path" ); + ScmTestCase.printSystemCmdUnavail( "git", getName() ); return; } File repo_orig = new File( "src/test/resources/repository_no_branch" ); @@ -60,8 +61,14 @@ FileUtils.deleteDirectory( repo ); FileUtils.copyDirectoryStructure( repo_orig, repo ); - ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file:///" + repo.getAbsolutePath() ); + ScmRepository scmRepository = getScmManager().makeScmRepository( + "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString() ); + CheckOutScmResult checkOutScmResult = checkoutRepo( scmRepository ); + + // Add a default user to the config + GitScmTestUtils.setDefaultUser( workingDirectory ); + assertEquals( 0, checkOutScmResult.getCheckedOutFiles().size() ); File f = new File( workingDirectory.getAbsolutePath() + File.separator + "pom.xml" ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -65,7 +65,7 @@ { if ( GitUtil.getSettings().isCommitNoVerify() ) { - testCommandLine( "scm:git:http://foo.com/git/trunk", "git commit --verbose " + messageFileString + " -a" + " --no-verify" ); + testCommandLine( "scm:git:http://foo.com/git/trunk", "git commit --verbose " + messageFileString + " -a" + " --no-verify" ); } else { @@ -93,17 +93,27 @@ File repo = getRepositoryRoot(); File checkedOutRepo = getWorkingCopy(); + if ( !ScmTestCase.isSystemCmd( "git" ) ) + { + ScmTestCase.printSystemCmdUnavail( "git", getName() ); + return; + } + GitScmTestUtils.initRepo("src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory()); - ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file://" + repo.getAbsolutePath() ); + ScmRepository scmRepository = getScmManager().makeScmRepository( + "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString() ); checkoutRepoInto(checkedOutRepo, scmRepository); + // Add a default user to the config + GitScmTestUtils.setDefaultUser( checkedOutRepo ); + // Creating foo/bar/wine.xml - File fooDir = new File( checkedOutRepo.getAbsolutePath() + File.separator + "foo" ); + File fooDir = new File( checkedOutRepo.getAbsolutePath(), "foo" ); fooDir.mkdir(); - File barDir = new File(fooDir.getAbsolutePath() + File.separator + "bar"); + File barDir = new File(fooDir.getAbsolutePath(), "bar"); barDir.mkdir(); - File wineFile = new File(barDir.getAbsolutePath() + File.separator + "wine.xml"); + File wineFile = new File(barDir.getAbsolutePath(), "wine.xml"); FileUtils.fileWrite( wineFile.getAbsolutePath(), "Lacoste castle" ); // Adding and commiting file @@ -113,9 +123,9 @@ assertResultIsSuccess( checkInScmResult ); // Cloning foo/bar/wine.xml to foo/newbar/wine.xml - File newBarDir = new File(fooDir.getAbsolutePath() + File.separator + "newbar"); + File newBarDir = new File(fooDir.getAbsolutePath(), "newbar"); newBarDir.mkdir(); - File movedWineFile = new File(newBarDir.getAbsolutePath() + File.separator + "wine.xml"); + File movedWineFile = new File(newBarDir.getAbsolutePath(), "wine.xml"); FileUtils.copyFile(wineFile, movedWineFile); // Removing old file, adding new file and commiting... @@ -125,7 +135,50 @@ assertResultIsSuccess(addResult); checkInScmResult = getScmManager().checkIn(scmRepository, new ScmFileSet(checkedOutRepo), "moved wine.xml from foo/bar/ to foo/newbar/"); assertResultIsSuccess(checkInScmResult); - assertTrue("Renamed file has not been commited !", checkInScmResult.getCheckedInFiles().size() != 0); + assertTrue("Renamed file has not been commited!", checkInScmResult.getCheckedInFiles().size() != 0); + } + + // Test FileSet in configuration + public void testCheckinWithFileSet() throws Exception { + File repo = getRepositoryRoot(); + File checkedOutRepo = getWorkingCopy(); + + if ( !ScmTestCase.isSystemCmd( "git" ) ) + { + ScmTestCase.printSystemCmdUnavail( "git", getName() ); + return; + } + + GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); + + ScmRepository scmRepository = getScmManager().makeScmRepository( + "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString() ); + checkoutRepoInto( checkedOutRepo, scmRepository ); + + // Add a default user to the config + GitScmTestUtils.setDefaultUser( checkedOutRepo ); + + // Creating beer.xml and whiskey.xml + File beerFile = new File( checkedOutRepo.getAbsolutePath(), "beer.xml" ); + FileUtils.fileWrite( beerFile.getAbsolutePath(), "1/2 litre" ); + File whiskeyFile = new File( checkedOutRepo.getAbsolutePath(), "whiskey.xml" ); + FileUtils.fileWrite( whiskeyFile.getAbsolutePath(), "700 ml" ); + + // Adding and commiting beer and whiskey + AddScmResult addResult = getScmManager().add( scmRepository, new ScmFileSet( checkedOutRepo, "beer.xml,whiskey.xml" ) ); + assertResultIsSuccess( addResult ); + CheckInScmResult checkInScmResult = getScmManager().checkIn( scmRepository, + new ScmFileSet( checkedOutRepo, "beer.xml,whiskey.xml" ), "Created beer file" ); + assertResultIsSuccess( checkInScmResult ); + + // Editing beer and commiting whiskey, should commit nothingi, but succeed + FileUtils.fileWrite( beerFile.getAbsolutePath(), "1 litre" ); + + addResult = getScmManager().add( scmRepository, new ScmFileSet( checkedOutRepo, "whiskey.xml" ) ); + assertResultIsSuccess( addResult ); + checkInScmResult = getScmManager().checkIn( scmRepository, + new ScmFileSet( checkedOutRepo, "whiskey.xml" ), "Checking beer file"); + assertResultIsSuccess( checkInScmResult ); } // ---------------------------------------------------------------------- diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,6 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.Os; import java.io.File; @@ -51,7 +50,8 @@ FileUtils.deleteDirectory( workingDirectory ); repo = new File( "src/test/resources/repository_no_branch" ); - scmRepository = getScmManager().makeScmRepository( "scm:git:file:///" + repo.getAbsolutePath() ); + scmRepository = getScmManager().makeScmRepository( "scm:git:" + + repo.toPath().toAbsolutePath().toUri().toASCIIString() ); } public void testCheckoutNoBranch() @@ -59,7 +59,7 @@ { if ( !ScmTestCase.isSystemCmd( "git" ) ) { - System.out.println( "skip test which git native executable in path" ); + ScmTestCase.printSystemCmdUnavail( "git", getName() ); return; } CheckOutScmResult result = checkoutRepo(); @@ -71,7 +71,7 @@ { if ( !ScmTestCase.isSystemCmd( "git" ) ) { - System.out.println( "skip test which git native executable in path" ); + ScmTestCase.printSystemCmdUnavail( "git", getName() ); return; } CheckOutScmResult result = checkoutRepo(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -31,7 +31,6 @@ /** * @author Mark Struberg - * @version $Id: GitDiffRawConsumerTest.java 1057016 2011-01-09 20:11:26Z struberg $ */ public class GitDiffRawConsumerTest extends PlexusTestCase diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtilsAddTargetTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtilsAddTargetTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtilsAddTargetTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtilsAddTargetTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -65,7 +65,7 @@ // https://jira.codehaus.org/browse/SCM-667 final List filesToAdd = Arrays.asList( new File( "C:\\prj\\pom.xml" ), new File( "c:\\prj\\mod1\\pom.xml" ) ); - final String expectedArguments = "[add, pom.xml, mod1\\pom.xml]"; + final String expectedArguments = "[add, pom.xml, mod1/pom.xml]"; check( workingDir, filesToAdd, expectedArguments ); } @@ -108,4 +108,4 @@ { return Os.isFamily( Os.FAMILY_WINDOWS ); } -} \ No newline at end of file +} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -28,7 +28,6 @@ import org.apache.maven.scm.provider.ScmProviderRepository; import org.apache.maven.scm.provider.git.GitScmTestUtils; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -51,7 +50,7 @@ provider.info( repository, new ScmFileSet( getRepositoryRoot() ), new CommandParameters() ); assertNotNull( result ); assertEquals( "cd3c0dfacb65955e6fbb35c56cc5b1bf8ce4f767", result.getInfoItems().get( 0 ).getRevision() ); - // + // } public void testInfoCommandWithShortRevision() diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,11 +23,10 @@ import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.log.DefaultLog; import org.apache.maven.scm.provider.git.gitexe.command.remove.GitRemoveConsumer; +import org.apache.maven.scm.util.ConsumerUtils; import org.codehaus.plexus.PlexusTestCase; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.util.List; /** @@ -56,14 +55,7 @@ File f = getTestFile( "/src/test/resources/git/remove/gitrm.gitlog" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List changedFiles = consumer.getRemovedFiles(); @@ -80,14 +72,7 @@ File f = getTestFile( "/src/test/resources/git/remove/gitrm-empty.gitlog" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List changedFiles = consumer.getRemovedFiles(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -30,6 +30,7 @@ import org.apache.commons.io.IOUtils; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; +import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.log.DefaultLog; import org.codehaus.plexus.PlexusTestCase; @@ -88,6 +89,15 @@ return consumer.getChangedFiles(); } + private List getChangedFiles( String line, File workingDirectory, URI relativeRepoPath, ScmFileSet scmFileSet ) + { + GitStatusConsumer consumer = new GitStatusConsumer( new DefaultLog(), workingDirectory, relativeRepoPath, scmFileSet ); + + consumer.consumeLine( line ); + + return consumer.getChangedFiles(); + } + public void testConsumerUntrackedFile() { List changedFiles = getChangedFiles( "?? project.xml", null ); @@ -187,15 +197,47 @@ assertEquals("test file with spaces and a special \u007f character.xml", changedFiles.get( 0 ).getPath() ); } + public void testURI() + throws Exception + { + String path = "Not%Scheme:/sub dir"; + URI u = GitStatusConsumer.uriFromPath( path ); + assertEquals( path, u.getPath() ); + } + + public void testConsumerWithFileSet() + throws IOException + { + File dir = createTempDirectory(); + FileUtils.write( new File( dir, "project.xml" ), "data" ); + FileUtils.write( new File( dir, "pom.xml" ), "more data" ); + File subdir = new File( dir.getAbsolutePath(), "subDir" ); + subdir.mkdir(); + FileUtils.write( new File( subdir, "something.xml" ), "data" ); + + ScmFileSet scmFileSet = new ScmFileSet( dir, null, "project.xml" ); + List changedFiles = getChangedFiles( "M project.xml", dir, null, scmFileSet ); + assertEquals( 0, changedFiles.size() ); + + scmFileSet = new ScmFileSet( dir, "pom.xml" ); + changedFiles = getChangedFiles( "M pom.xml", dir, null, scmFileSet ); + assertEquals( 1, changedFiles.size() ); + + scmFileSet = new ScmFileSet( subdir, "something.xml", "pom.xml" ); + changedFiles = getChangedFiles( "M subDir/something.xml", dir, dir.toURI(), scmFileSet ); + assertEquals( 1, changedFiles.size() ); + } + // SCM-740 public void testConsumerModifiedFileInComplexDirectorySetup() throws IOException { File dir = createTempDirectory(); - File subdir = new File( dir.getAbsolutePath() + "/subDirectory/" ); + URI relativeCWD = URI.create( "" ); + File subdir = new File( dir, "subDirectory" ); subdir.mkdir(); FileUtils.write( new File( subdir, "project.xml" ), "data" ); - List changedFiles = getChangedFiles( "M subDirectory/project.xml", subdir, dir.toURI() ); + List changedFiles = getChangedFiles( "M subDirectory/project.xml", dir, relativeCWD ); assertNotNull( changedFiles ); assertEquals( 1, changedFiles.size() ); @@ -203,7 +245,8 @@ FileUtils.write( new File( subdir, "test file with spaces and a déjà vu character.xml" ), "data" ); - changedFiles = getChangedFiles( "M \"subDirectory/test file with spaces and a déjà vu character.xml\"", subdir, dir.toURI() ); + changedFiles = + getChangedFiles( "M \"subDirectory/test file with spaces and a déjà vu character.xml\"", dir, relativeCWD ); assertNotNull( changedFiles ); assertEquals( 1, changedFiles.size() ); @@ -215,11 +258,13 @@ public void testConsumerModifiedFileInComplexDirectoryWithSpaces() throws IOException { File dir = createTempDirectory(); - File subdir = new File( dir.getAbsolutePath() + "/sub Directory déjà vu special/" ); + URI relativeCWD = URI.create( "" ); + File subdir = new File( dir, "sub Directory déjà vu special" ); subdir.mkdir(); FileUtils.write( new File( subdir, "project.xml" ), "data" ); - List changedFiles = getChangedFiles( "M \"sub Directory déjà vu special/project.xml\"", subdir, dir.toURI() ); + List changedFiles = + getChangedFiles( "M \"sub Directory déjà vu special/project.xml\"", dir, relativeCWD ); assertNotNull( changedFiles ); assertEquals( 1, changedFiles.size() ); @@ -227,7 +272,9 @@ FileUtils.write( new File( subdir, "test file with spaces and a déjà vu character.xml" ), "data" ); - changedFiles = getChangedFiles( "M \"sub Directory déjà vu special/test file with spaces and a déjà vu character.xml\"", subdir, dir.toURI() ); + changedFiles = + getChangedFiles( "M \"sub Directory déjà vu special/test file with spaces and a déjà vu character.xml\"", + dir, relativeCWD ); assertNotNull( changedFiles ); assertEquals( 1, changedFiles.size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -55,21 +55,28 @@ public void testCommandLineTag() throws Exception { - testCommandLine( "scm:git:http://foo.com/git/trunk", "my-tag-1", "git tag " + messageFileString + " my-tag-1" ); + testCommandLine( "scm:git:http://foo.com/git/trunk", "my-tag-1", "git tag " + messageFileString + " my-tag-1", false ); } public void testCommandLineWithUsernameAndTag() throws Exception { testCommandLine( "scm:git:http://anonymous@foo.com/git/trunk", "my-tag-1", - "git tag " + messageFileString + " my-tag-1" ); + "git tag " + messageFileString + " my-tag-1", false ); + } + + public void testCommandLineWithUsernameAndTagAndSign() + throws Exception + { + testCommandLine( "scm:git:http://anonymous@foo.com/git/trunk", "my-tag-1", + "git tag -s " + messageFileString + " my-tag-1", true ); } // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- - private void testCommandLine( String scmUrl, String tag, String commandLine ) + private void testCommandLine( String scmUrl, String tag, String commandLine, boolean sign ) throws Exception { File workingDirectory = getTestFile( "target/git-checkin-command-test" ); @@ -78,7 +85,7 @@ GitScmProviderRepository gitRepository = (GitScmProviderRepository) repository.getProviderRepository(); - Commandline cl = GitTagCommand.createCommandLine( gitRepository, workingDirectory, tag, messageFile ); + Commandline cl = GitTagCommand.createCommandLine( gitRepository, workingDirectory, tag, messageFile, sign ); assertCommandLine( commandLine, workingDirectory, cl ); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -38,7 +38,7 @@ public void testCommandLineNoBranch() throws Exception { - testCommandLine( "scm:git:http://foo.com/git", null, "git pull http://foo.com/git master" ); + testCommandLine( "scm:git:http://foo.com/git", null, "git pull http://foo.com/git" ); } public void testCommandLineWithBranch() @@ -51,7 +51,7 @@ public void testCommandLineLatestRevision() throws Exception { - testLatestRevisionCommandLine( "scm:git:http://foo.com/git", null, "git log -n1 --date-order master" ); + testLatestRevisionCommandLine( "scm:git:http://foo.com/git", null, "git log -n1 --date-order" ); } // ---------------------------------------------------------------------- diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/info/dotgit/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/info/dotgit/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/info/dotgit/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/info/dotgit/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +ref: refs/heads/master diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xŽË +Â0E]ç+f/”É´yD\¸ò/&™ Uh#1âïÛ•k7—Ã7×u½w ½©‚婤±¸€,¤6 +çʈââ}L”•GÏÖ<¹éÖAƒËÉqD B^¤”™3‘-Ùƒ %‰†ß}© nuÙàZN©zyÕU?‹6r]Ï`§ÙâŽû Ùí~±ë¿q$ç±áÜïu2_§Fu \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +xŽ±ŠÃ0DSë+¶?»’%+p„©î/$í;`+øòûQuõM1 LiÛ¶v²ÖúP¶ÂŽ/,5K2y«ÌÙ¡jòÑT}uÕ<Ó½“æ)hpÖÕQ@,6ë)!r.ãT&½úÒúiËN÷ú~ŒuÖ†ÛoÛð^pà\Úv%ñ¢¿Xfúâ3è¸ØñOy.Ä?Ù¤Ò׶“7‡µF• \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xŽA +Â0E]ç³J¦™i& â•·H'SªÐFjÄëÛ•k7ŸÇƒ_ë²Üô}8´Í "φ†:ÑhZ(QÆQHE± ÊÄî™7[ø M0ÆžGÆ!E1.9Om*cÖIBòœP\~·¹np«ó +×jpzìÔ•j—W]ì3ÛfÖå H =‰÷Žûx·Ûýb³céyøÅ.k»×‚û(½EÊ \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,2 @@ +xŽA +Â0E]ç³Jf’¦qáÊ[L’‘Vh#1âõíʵõxðà纮K"wèM¸Ø<&+T²gGw$v<L‚„(){ÍSšnÔqð%jô1Ä4Æ".q6"ÛD…„¨bäÝçÚàVç ®UáôØi(U/¯ºêgÖ¦C®ëp´82³µp´ûÌn÷‹]ÿŒÉ…౑ܗº7_’rDá \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xÎK +1P×9Eï…!ÝÉä".\y‹NÒ2#ÌDbÄë›…°VEÁƒÊuÛÖDæЛ„¢³/4SÉ6º#1|ÁÄHˆœ²ÅY=¹ÉÞALp¶D‰6F‡˜æXØdÇFG :‘'—…¿ûRÜê²Ãµ +œ£M¥ÊåU7ù,ÒdÊu;Úè «5õˆë¸ØåOìutƒý°âÜ׺ƒU_“…Dê \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +464921bc7cbaaae0779fc863724302d1148d6097 refs/heads/master diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/config maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/config --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/config 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/config 2018-09-11 20:05:31.000000000 +0000 @@ -2,3 +2,4 @@ repositoryformatversion = 0 filemode = true bare = true + ignorecase = true diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/applypatch-msg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/applypatch-msg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/applypatch-msg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/applypatch-msg 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, make this file executable. - -. git-sh-setup -test -x "$GIT_DIR/hooks/commit-msg" && - exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} -: diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/commit-msg maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/commit-msg --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/commit-msg 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/commit-msg 1970-01-01 00:00:00.000000000 +0000 @@ -1,21 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by git-commit with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, make this file executable. - -# Uncomment the below to add a Signed-off-by line to the message. -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-commit maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-commit --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-commit 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-commit 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script that is called after a successful -# commit is made. -# -# To enable this hook, make this file executable. - -: Nothing diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-receive maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-receive --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-receive 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-receive 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -#!/bin/sh -# -# An example hook script for the post-receive event -# -# This script is run after receive-pack has accepted a pack and the -# repository has been updated. It is passed arguments in through stdin -# in the form -# -# For example: -# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master -# -# see contrib/hooks/ for an sample, or uncomment the next line (on debian) -# - - -#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-update maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-update --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-update 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/post-update 1970-01-01 00:00:00.000000000 +0000 @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, make this file executable by "chmod +x post-update". - -exec git-update-server-info diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-applypatch maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-applypatch --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-applypatch 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-applypatch 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, make this file executable. - -. git-sh-setup -test -x "$GIT_DIR/hooks/pre-commit" && - exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} -: diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-commit maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-commit --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-commit 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-commit 1970-01-01 00:00:00.000000000 +0000 @@ -1,70 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by git-commit with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, make this file executable. - -# This is slightly modified from Andrew Morton's Perfect Patch. -# Lines you introduce should not have trailing whitespace. -# Also check for an indentation that has SP before a TAB. - -if git-rev-parse --verify HEAD 2>/dev/null -then - git-diff-index -p -M --cached HEAD -else - # NEEDSWORK: we should produce a diff with an empty tree here - # if we want to do the same verification for the initial import. - : -fi | -perl -e ' - my $found_bad = 0; - my $filename; - my $reported_filename = ""; - my $lineno; - sub bad_line { - my ($why, $line) = @_; - if (!$found_bad) { - print STDERR "*\n"; - print STDERR "* You have some suspicious patch lines:\n"; - print STDERR "*\n"; - $found_bad = 1; - } - if ($reported_filename ne $filename) { - print STDERR "* In $filename\n"; - $reported_filename = $filename; - } - print STDERR "* $why (line $lineno)\n"; - print STDERR "$filename:$lineno:$line\n"; - } - while (<>) { - if (m|^diff --git a/(.*) b/\1$|) { - $filename = $1; - next; - } - if (/^@@ -\S+ \+(\d+)/) { - $lineno = $1 - 1; - next; - } - if (/^ /) { - $lineno++; - next; - } - if (s/^\+//) { - $lineno++; - chomp; - if (/\s$/) { - bad_line("trailing whitespace", $_); - } - if (/^\s* /) { - bad_line("indent SP followed by a TAB", $_); - } - if (/^(?:[<>=]){7}/) { - bad_line("unresolved merge conflict", $_); - } - } - } - exit($found_bad); -' diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-rebase maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-rebase --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-rebase 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/pre-rebase 1970-01-01 00:00:00.000000000 +0000 @@ -1,150 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006 Junio C Hamano -# - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` -fi - -case "$basebranch,$topic" in -master,refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Is topic fully merged to master? -not_in_master=`git-rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git-rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git-rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git-rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up-to-date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git-rev-list --pretty=oneline ^${publish} "$topic"` - perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -exit 0 - -################################################################ - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git-rev-list ^master ^topic next - git-rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git-rev-list master..topic - - if this is empty, it is fully merged to "master". diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/update maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/update --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/update 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository/hooks/update 1970-01-01 00:00:00.000000000 +0000 @@ -1,78 +0,0 @@ -#!/bin/sh -# -# An example hook script to blocks unannotated tags from entering. -# Called by git-receive-pack with arguments: refname sha1-old sha1-new -# -# To enable this hook, make this file executable by "chmod +x update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "Usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git-repo-config --bool hooks.allowunannotated) - -# check for no description -projectdesc=$(sed -e '1p' "$GIT_DIR/description") -if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then - echo "*** Project description file hasn't been set" >&2 - exit 1 -fi - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a branch -if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then - newrev_type=commit -else - newrev_type=$(git-cat-file -t $newrev) -fi - -case "$refname","$newrev_type" in - refs/tags/*,commit) - # un-annotated tag - short_refname=${refname##refs/tags/} - if [ "$allowunannotated" != "true" ]; then - echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - ;; - refs/heads/*,commit) - # branch - ;; - refs/remotes/*,commit) - # tracking branch - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_no_branch/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_no_branch/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_no_branch/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repository_no_branch/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-git - 1.9.5 + 1.11.1 maven-scm-provider-gittest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,83 @@ +####################################### +Description of linear-changelog repository +####################################### + +The 'linear-changelog' repositories in src/test/resources of git implementations has been created + - using the script below + - and then using a `clone --bare` command + +- - - - - - - - - - - - - - - - +Repository structure +- - - - - - - - - - - - - - - - + + $ git log --graph --format="%h - %s (authored) <%an> %ai (commited) <%cn> %ci" + * 464921b - action 5 (authored) 2017-10-01 12:00:00 +0000 (commited) 2017-10-10 12:00:00 +0000 + * db46d63 - action 4 (authored) 2017-08-01 12:00:00 +0000 (commited) 2017-08-10 12:00:00 +0000 + * e3864d9 - action 3 (authored) 2017-06-01 12:00:00 +0000 (commited) 2017-06-10 12:00:00 +0000 + * 0f1e817 - action 2 (authored) 2017-04-01 12:00:00 +0000 (commited) 2017-04-10 12:00:00 +0000 + * e75cb5a - action 1 (authored) 2017-02-01 12:00:00 +0000 (commited) 2017-02-10 12:00:00 +0000 + +- - - - - - - - - - - - - - - - +Creation script +- - - - - - - - - - - - - - - - + #!/bin/sh + + cd /tmp + rm -rf linear-changelog + mkdir linear-changelog + cd linear-changelog + git init + git config user.name "John Doe" + git config user.email "john.doe@somewhere.com" + + mkdir -p src/main/java + mkdir -p src/test/java + + echo -n "/pom.xml" > pom.xml + echo -n "/readme.txt" > readme.txt + echo -n "/src/main/java/Application.java" > src/main/java/Application.java + echo -n "/src/test/java/Test.java" > src/test/java/Test.java + + echo "## Linear changelog" >> README.md + git add . + + echo "- 1" >> README.md + git add -u + git commit -m "action 1" + export GIT_AUTHOR_DATE="2017-02-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-02-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 2" >> README.md + git add -u + git commit -m "action 2" + export GIT_AUTHOR_DATE="2017-04-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-04-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 3" >> README.md + git add -u + git commit -m "action 3" + export GIT_AUTHOR_DATE="2017-06-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-06-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 4" >> README.md + git add -u + git commit -m "action 4" + export GIT_AUTHOR_DATE="2017-08-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-08-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 5" >> README.md + git add -u + git commit -m "action 5" + export GIT_AUTHOR_DATE="2017-10-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-10-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + unset GIT_COMMITTER_DATE + + echo Repository created. + git log --graph --format="%h - %s (authored) <%an> %ai (commited) <%cn> %ci" + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/blame/GitBlameCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.blame.BlameCommandTckTest; +import java.io.File; + /** * @author Evgeny Mandrikov * @since 1.4 @@ -34,4 +38,17 @@ { GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/branch/GitBranchCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.branch.BranchCommandTckTest; +import java.io.File; + /** * @author Mark Struberg * @@ -35,4 +39,17 @@ { GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,21 +19,214 @@ * under the License. */ +import org.apache.maven.scm.ChangeSet; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmRevision; +import org.apache.maven.scm.command.changelog.ChangeLogScmRequest; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.provider.ScmProvider; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.changelog.ChangeLogCommandTckTest; +import java.io.File; +import java.util.List; + +import static org.hamcrest.CoreMatchers.startsWith; +import static org.junit.Assert.assertThat; + /** * @author Mark Struberg */ public abstract class GitChangeLogCommandTckTest extends ChangeLogCommandTckTest { + public static final long SLEEP_TIME_IN_MILLIS = 250L; /** {@inheritDoc} */ public void initRepo() throws Exception { - GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); + GitScmTestUtils.initRepo( "src/test/resources/linear-changelog/", getRepositoryRoot(), getWorkingCopy() ); + } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } + + public void testChangeLogCommandFromHeadAncestorAndHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "HEAD~1"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s returned bad number of commits", startVersion, endVersion ), + 1, logEntries.size() ); + + + assertThat( "bad head commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) ); + } + + public void testChangeLogCommandFromHeadToHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "HEAD"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s returned bad number of commits", startVersion, endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromUndefinedToHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for ..%s returned bad number of commits", endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromVersionToUndefined() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "e3864d9"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s.. returned bad number of commits", startVersion ), + 2, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "db46d63" ) ); } + public void testChangeLogCommandFromVoneToVtwo() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "0f1e817"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "db46d63"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s.. returned bad number of commits", startVersion ), + 2, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "db46d63" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "e3864d9" ) ); + } + + public void testChangeLogCommandWithStartEndInBadOrder() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "db46d63"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "0f1e817"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s should return no commits", startVersion, endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromHeadToStartOfRepository() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String version = "HEAD"; + clr.setRevision( new ScmRevision( version ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s returned bad number of commits", version ), + 5, logEntries.size() ); + } + + public void testChangeLogCommandFromVersionToStartOfRepository() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String version = "db46d63"; + clr.setRevision( new ScmRevision( version ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s returned bad number of commits", version ), + 4, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "db46d63" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "e3864d9" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 2 ).getRevision(), startsWith( "0f1e817" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 3 ).getRevision(), startsWith( "e75cb5a" ) ); + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/checkin/GitCheckInCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.checkin.CheckInCommandTckTest; +import java.io.File; + /** * @author Mark Struberg * @@ -36,4 +40,17 @@ { GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/status/GitStatusCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.status.StatusCommandTckTest; +import java.io.File; + /** * @author Mark Struberg * @@ -35,4 +39,17 @@ { GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/tag/GitTagCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.tag.TagCommandTckTest; +import java.io.File; + /** * @author Mark Struberg * @@ -35,4 +39,17 @@ { GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/update/GitUpdateCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,13 @@ * under the License. */ +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.git.GitScmTestUtils; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.update.UpdateCommandTckTest; +import java.io.File; + /** * @author Mark Struberg * @@ -33,6 +37,19 @@ public void initRepo() throws Exception { - GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); + GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingCopy() ); + } + + @Override + protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repository ) throws Exception + { + try + { + return super.checkOut( workingDirectory, repository ); + } + finally + { + GitScmTestUtils.setDefaultUser( workingDirectory ); + } } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,17 +19,15 @@ * under the License. */ +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; + import junit.framework.Assert; + import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.Os; -import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.CommandLineException; -import org.codehaus.plexus.util.cli.CommandLineUtils; -import org.codehaus.plexus.util.cli.Commandline; - -import java.io.File; -import java.io.IOException; /** * @author Trygve Laugstøl @@ -78,37 +76,7 @@ public static String getScmUrl( File repositoryRootFile, String provider ) throws CommandLineException { - String repositoryRoot = repositoryRootFile.getAbsolutePath(); - - // TODO: it'd be great to build this into CommandLineUtils somehow - // TODO: some way without a custom cygwin sys property? - if ( "true".equals( System.getProperty( "cygwin" ) ) ) - { - Commandline cl = new Commandline(); - - cl.setExecutable( "cygpath" ); - - cl.createArg().setValue( "--unix" ); - - cl.createArg().setValue( repositoryRoot ); - - CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); - - int exitValue = CommandLineUtils.executeCommandLine( cl, stdout, null ); - - if ( exitValue != 0 ) - { - throw new CommandLineException( "Unable to convert cygwin path, exit code = " + exitValue ); - } - - repositoryRoot = stdout.getOutput().trim(); - } - else if ( Os.isFamily( "windows" ) ) - { - repositoryRoot = "/" + StringUtils.replace( repositoryRoot, "\\", "/" ); - } - - return "scm:" + provider + ":file://" + repositoryRoot; + return "scm:" + provider + ":" + repositoryRootFile.toPath().toAbsolutePath().toUri().toASCIIString(); } @@ -136,4 +104,38 @@ } } + public static void setDefaultUser( File repositoryRootFile ) + { + File gitConfigFile = new File( new File( repositoryRootFile, ".git" ), "config" ); + + FileWriter fw = null; + try + { + fw = new FileWriter( gitConfigFile , true ); + fw.append( "[user]\n" ); + fw.append( "\tname = John Doe\n" ); + fw.append( "\temail = john.doe@nowhere.com\n" ); + fw.flush(); + fw.close(); + } + catch ( IOException e ) + { + System.err.println( "cannot setup a default user for tests purpose inside " + gitConfigFile ); + e.printStackTrace(); + } + finally + { + if ( fw != null ) + { + try + { + fw.close(); + } + catch ( IOException ignore ) + { + // ignored + } + } + } + } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -24,7 +24,7 @@ org.apache.maven.scm maven-scm-providers-git - 1.9.5 + 1.11.1 maven-scm-provider-jgit @@ -50,8 +50,14 @@ org.eclipse.jgit org.eclipse.jgit - - 3.7.1.201504261725-r + 4.5.4.201711221230-r + + + + org.slf4j + slf4j-simple + 1.7.25 + test diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -99,7 +99,7 @@ // search for the tagged files final RevWalk revWalk = new RevWalk( git.getRepository() ); RevCommit commit = revWalk.parseCommit( branchResult.getObjectId() ); - revWalk.release(); + revWalk.close(); final TreeWalk walk = new TreeWalk( git.getRepository() ); walk.reset(); // drop the first empty tree, which we do not need here @@ -111,7 +111,7 @@ { files.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); } - walk.release(); + walk.close(); return new BranchScmResult( "JGit branch", files ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -64,6 +64,14 @@ return executeChangeLogCommand( repo, fileSet, null, null, null, datePattern, startVersion, endVersion ); } + @Override + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + return executeChangeLogCommand( repository, fileSet, null, null, null, datePattern, null, null, version ); + } + /** * {@inheritDoc} */ @@ -81,13 +89,38 @@ ScmVersion endVersion ) throws ScmException { + return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, null ); + } + + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, + Date startDate, Date endDate, ScmBranch branch, + String datePattern, ScmVersion startVersion, + ScmVersion endVersion, ScmVersion version ) + throws ScmException + { Git git = null; + boolean isARangeChangeLog = startVersion != null || endVersion != null; + try { git = JGitUtils.openRepo( fileSet.getBasedir() ); - String startRev = startVersion != null ? startVersion.getName() : null; - String endRev = endVersion != null ? endVersion.getName() : null; + boolean versionOnly = startVersion == null && endVersion == null && version != null; + + String startRev = null; + String endRev = null; + + if ( versionOnly ) + { + startRev = null; + endRev = version.getName(); + } + else + { + startRev = startVersion != null ? startVersion.getName() : ( isARangeChangeLog ? "HEAD" : null ); + endRev = endVersion != null ? endVersion.getName() : ( isARangeChangeLog ? "HEAD" : null ); + } List gitChanges = this.whatchanged( git.getRepository(), null, startRev, endRev, startDate, endDate, -1 ); @@ -130,6 +163,12 @@ List revs = JGitUtils.getRevCommits( repo, sortings, fromRev, toRev, fromDate, toDate, maxLines ); List changes = new ArrayList( revs.size() ); + if ( fromRev != null && fromRev.equals( toRev ) ) + { + // there are no changes between 2 identical versions + return changes; + } + for ( RevCommit c : revs ) { ChangeEntry ce = new ChangeEntry(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -167,7 +167,7 @@ final String email; - public UserInfo( String name, String email ) + UserInfo( String name, String email ) { this.name = name; this.email = email; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -66,7 +66,7 @@ * {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { GitScmProviderRepository repository = (GitScmProviderRepository) repo; @@ -167,7 +167,7 @@ RevWalk revWalk = new RevWalk( git.getRepository() ); RevCommit commit = revWalk.parseCommit( git.getRepository().resolve( Constants.HEAD ) ); - revWalk.release(); + revWalk.close(); final TreeWalk walk = new TreeWalk( git.getRepository() ); walk.reset(); // drop the first empty tree, which we do not need here @@ -179,7 +179,7 @@ { listedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); } - walk.release(); + walk.close(); getLogger().debug( "current branch: " + git.getRepository().getBranch() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -131,7 +131,7 @@ } finally { - or.release(); + or.close(); } } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -60,7 +60,7 @@ InfoItem infoItem = new InfoItem(); infoItem.setRevision( StringUtils.trim( objectId.name() ) ); - infoItem.setURL( basedir.getPath() ); + infoItem.setURL( basedir.toPath().toUri().toASCIIString() ); return new InfoScmResult( Collections.singletonList( infoItem ), new ScmResult( "JGit.resolve(HEAD)", "", objectId.toString(), true ) ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -243,7 +243,7 @@ { list.add( new ScmFile( diff.getNewPath(), ScmFileStatus.CHECKED_IN ) ); } - rw.release(); + rw.close(); } return list; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -97,7 +97,7 @@ // search for the tagged files RevWalk revWalk = new RevWalk( git.getRepository() ); RevCommit commit = revWalk.parseCommit( tagRef.getObjectId() ); - revWalk.release(); + revWalk.close(); final TreeWalk walk = new TreeWalk( git.getRepository() ); walk.reset(); // drop the first empty tree, which we do not need here @@ -109,7 +109,7 @@ { taggedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); } - walk.release(); + walk.close(); return new TagScmResult( "JGit tag", taggedFiles ); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -270,7 +270,7 @@ RevWalk rw = new RevWalk( repository ); AnyObjectId headId = repository.resolve( Constants.HEAD ); RevCommit head = rw.parseCommit( headId ); - rw.release(); + rw.close(); return head; } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,5 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = true + ignorecase = true diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +ref: refs/heads/master diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xŽË +Â0E]ç+f/”É´yD\¸ò/&™ Uh#1âïÛ•k7—Ã7×u½w ½©‚婤±¸€,¤6 +çʈââ}L”•GÏÖ<¹éÖAƒËÉqD B^¤”™3‘-Ùƒ %‰†ß}© nuÙàZN©zyÕU?‹6r]Ï`§ÙâŽû Ùí~±ë¿q$ç±áÜïu2_§Fu \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1 @@ +xŽ±ŠÃ0DSë+¶?»’%+p„©î/$í;`+øòûQuõM1 LiÛ¶v²ÖúP¶ÂŽ/,5K2y«ÌÙ¡jòÑT}uÕ<Ó½“æ)hpÖÕQ@,6ë)!r.ãT&½úÒúiËN÷ú~ŒuÖ†ÛoÛð^pà\Úv%ñ¢¿Xfúâ3è¸ØñOy.Ä?Ù¤Ò׶“7‡µF• \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xŽA +Â0E]ç³J¦™i& â•·H'SªÐFjÄëÛ•k7ŸÇƒ_ë²Üô}8´Í "φ†:ÑhZ(QÆQHE± ÊÄî™7[ø M0ÆžGÆ!E1.9Om*cÖIBòœP\~·¹np«ó +×jpzìÔ•j—W]ì3ÛfÖå H =‰÷Žûx·Ûýb³céyøÅ.k»×‚û(½EÊ \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,2 @@ +xŽA +Â0E]ç³Jf’¦qáÊ[L’‘Vh#1âõíʵõxðà纮K"wèM¸Ø<&+T²gGw$v<L‚„(){ÍSšnÔqð%jô1Ä4Æ".q6"ÛD…„¨bäÝçÚàVç ®UáôØi(U/¯ºêgÖ¦C®ëp´82³µp´ûÌn÷‹]ÿŒÉ…౑ܗº7_’rDá \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +xÎK +1P×9Eï…!ÝÉä".\y‹NÒ2#ÌDbÄë›…°VEÁƒÊuÛÖDæЛ„¢³/4SÉ6º#1|ÁÄHˆœ²ÅY=¹ÉÞALp¶D‰6F‡˜æXØdÇFG :‘'—…¿ûRÜê²Ãµ +œ£M¥ÊåU7ù,ÒdÊu;Úè «5õˆë¸ØåOìutƒý°âÜ׺ƒU_“…Dê \ No newline at end of file Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ Binary files /tmp/tmpPXi6hM/QqowMN0f_j/maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 and /tmp/tmpPXi6hM/BPE_v6iRvT/maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +464921bc7cbaaae0779fc863724302d1148d6097 refs/heads/master diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/.gitattributes maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/.gitattributes --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/.gitattributes 1970-01-01 00:00:00.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/.gitattributes 2018-09-11 20:05:31.000000000 +0000 @@ -0,0 +1,3 @@ +objects/** binary +* text eol=lf + diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-git/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-git/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ maven-scm-providers org.apache.maven.scm - 1.9.5 + 1.11.1 maven-scm-providers-git diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-standard/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-standard/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-standard/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-standard/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-providers-standard @@ -38,7 +38,7 @@ org.apache.maven.scm maven-scm-provider-accurev runtime - + org.apache.maven.scm maven-scm-provider-bazaar diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-svn - 1.9.5 + 1.11.1 maven-scm-provider-svn-commons @@ -67,7 +67,6 @@ 1.1.0 - true src/main/mdo/svn-settings.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepository.java 2018-09-11 20:05:31.000000000 +0000 @@ -161,7 +161,9 @@ int indexAt = urlPath.indexOf( '@' ); - if ( indexAt > 0 && !getProtocol().startsWith( "svn+" ) ) + // a file:// URL may contain userinfo according to RFC 8089, but our implementation is broken + // extract user information, broken see SCM-909 + if ( indexAt > 0 && !getProtocol().startsWith( "svn+" ) && !getProtocol().equals( "file://" ) ) { String userPassword = urlPath.substring( 0, indexAt ); if ( userPassword.indexOf( ':' ) < 0 ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnConfigFileReader.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnConfigFileReader.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnConfigFileReader.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/SvnConfigFileReader.java 2018-09-11 20:05:31.000000000 +0000 @@ -43,9 +43,9 @@ { if ( configDirectory == null ) { - if ( Os.isFamily( "windows" ) ) + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) { - configDirectory = new File( System.getProperty( "user.home" ), "Application Data/Subversion" ); + configDirectory = new File( System.getenv( "APPDATA" ), "Subversion" ); } else { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/mdo/svn-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,13 +19,13 @@ ~ under the License. --> - svn-settings Svn - SVN Provider Model. + Subversion Provider Model package diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-svn - 1.9.5 + 1.11.1 maven-scm-provider-svnexe diff -Nru maven-scm-1.9.5/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 maven-scm-1.11.1/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 --- maven-scm-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -49,12 +49,6 @@ boolean binary ) throws ScmException { - // TODO: could do this with propset? - if ( binary ) - { - throw new ScmException( "This provider does not yet support binary files" ); - } - if ( fileSet.getFileList().isEmpty() ) { throw new ScmException( "You must provide at least one file/directory to add" ); @@ -62,6 +56,12 @@ Commandline cl = createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); + if ( binary ) + { + cl.createArg().setValue( "--config-option" ); + cl.createArg().setValue( "config:miscellany:enable-auto-props=no" ); + } + SvnAddConsumer consumer = new SvnAddConsumer( getLogger() ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); @@ -108,6 +108,8 @@ cl.createArg().setValue( "add" ); + cl.createArg().setValue( "--parents" ); + cl.createArg().setValue( "--non-recursive" ); try diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -56,7 +56,7 @@ extends AbstractBranchCommand implements SvnCommand { - + public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch, ScmBranchParameters scmBranchParameters ) throws ScmException @@ -77,7 +77,7 @@ try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), scmBranchParameters.getMessage() ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmBranchParameters.getMessage() ); } catch ( IOException ex ) { @@ -135,7 +135,6 @@ try { - @SuppressWarnings( "unchecked" ) List listFiles = FileUtils.getFiles( fileSet.getBasedir(), "**", "**/.svn/**", false ); files = listFiles; } @@ -151,7 +150,7 @@ return new BranchScmResult( cl.toString(), fileList ); } - + /** {@inheritDoc} */ public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch, String message ) @@ -170,9 +169,10 @@ { ScmBranchParameters scmBranchParameters = new ScmBranchParameters(); scmBranchParameters.setRemoteBranching( false ); + scmBranchParameters.setPinExternals( false ); return createCommandLine( repository, workingDirectory, branch, messageFile, scmBranchParameters ); } - + public static Commandline createCommandLine( SvnScmProviderRepository repository, File workingDirectory, String branch, File messageFile, ScmBranchParameters scmBranchParameters ) @@ -181,11 +181,20 @@ cl.createArg().setValue( "copy" ); + cl.createArg().setValue( "--parents" ); + cl.createArg().setValue( "--file" ); cl.createArg().setValue( messageFile.getAbsolutePath() ); - cl.createArg().setValue( "--parents" ); + cl.createArg().setValue( "--encoding" ); + + cl.createArg().setValue( "UTF-8" ); + + if ( scmBranchParameters != null && scmBranchParameters.isPinExternals() ) + { + cl.createArg().setValue( "--pin-externals" ); + } if ( scmBranchParameters != null && scmBranchParameters.isRemoteBranching() ) { @@ -194,7 +203,8 @@ cl.createArg().setValue( "--revision" ); cl.createArg().setValue( scmBranchParameters.getScmRevision() ); } - cl.createArg().setValue( SvnCommandUtils.fixUrl( repository.getUrl(), repository.getUser() ) ); + String url = SvnCommandUtils.fixUrl( repository.getUrl(), repository.getUser() ); + cl.createArg().setValue( url + "@" ); } else { @@ -202,8 +212,9 @@ } // Note: this currently assumes you have the branch base checked out too String branchUrl = SvnTagBranchUtils.resolveBranchUrl( repository, new ScmBranch( branch ) ); - cl.createArg().setValue( SvnCommandUtils.fixUrl( branchUrl, repository.getUser() ) ); + branchUrl = SvnCommandUtils.fixUrl( branchUrl, repository.getUser() ); + cl.createArg().setValue( branchUrl + "@" ); return cl; - } + } } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -209,17 +209,19 @@ // the changelog of that branch, but limit it to paths that also occur in this repository. if ( branch instanceof ScmTag ) { - cl.createArg().setValue( SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) branch ) ); + String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) branch ); + cl.createArg().setValue( tagUrl + "@" ); } else { - cl.createArg().setValue( SvnTagBranchUtils.resolveBranchUrl( repository, branch ) ); + String branchUrl = SvnTagBranchUtils.resolveBranchUrl( repository, branch ); + cl.createArg().setValue( branchUrl + "@" ); } } if ( endVersion == null || !StringUtils.equals( "BASE", endVersion.getName() ) ) { - cl.createArg().setValue( repository.getUrl() ); + cl.createArg().setValue( repository.getUrl() + "@" ); } return cl; diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -61,7 +61,7 @@ try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), message ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message ); } catch ( IOException ex ) { @@ -132,6 +132,10 @@ cl.createArg().setValue( messageFile.getAbsolutePath() ); + cl.createArg().setValue( "--encoding" ); + + cl.createArg().setValue( "UTF-8" ); + try { SvnCommandLineUtils.addTarget( cl, fileSet.getFileList() ); diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -54,7 +54,7 @@ * {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { SvnScmProviderRepository repository = (SvnScmProviderRepository) repo; @@ -165,7 +165,7 @@ } } - cl.createArg().setValue( url ); + cl.createArg().setValue( url + "@" ); cl.createArg().setValue( workingDirectory.getAbsolutePath() ); diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -142,15 +142,15 @@ cl.createArg().setValue( version.getName() ); } } - + //support exporting to an existing directory cl.createArg().setValue( "--force" ); - cl.createArg().setValue( url ); + cl.createArg().setValue( url + "@" ); if ( StringUtils.isNotEmpty( outputSirectory ) ) { - cl.createArg().setValue( outputSirectory ); + cl.createArg().setValue( outputSirectory + "@" ); } return cl; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -126,7 +126,7 @@ } else { - cl.createArg().setValue( repository.getUrl() + "/" + file.getPath().replace( '\\', '/' ) ); + cl.createArg().setValue( repository.getUrl() + "/" + file.getPath().replace( '\\', '/' ) + "@" ); } } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -118,7 +118,7 @@ { File file = it.next(); - cl.createArg().setValue( repository.getUrl() + "/" + file.getPath().replace( '\\', '/' ) ); + cl.createArg().setValue( repository.getUrl() + "/" + file.getPath().replace( '\\', '/' ) + "@" ); } return cl; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -57,7 +57,7 @@ try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), message ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message ); } catch ( IOException ex ) { @@ -133,22 +133,27 @@ cl.createArg().setValue( "mkdir" ); + cl.createArg().setValue( "--parents" ); + Iterator it = fileSet.getFileList().iterator(); String dirPath = it.next().getPath(); // replacing \ with / for windauze - if ( dirPath != null && Os.isFamily( Os.FAMILY_DOS ) ) + if ( dirPath != null && Os.isFamily( Os.FAMILY_WINDOWS ) ) { dirPath = StringUtils.replace( dirPath, "\\", "/" ); } if ( !createInLocal ) { - cl.createArg().setValue( repository.getUrl() + "/" + dirPath ); + cl.createArg().setValue( repository.getUrl() + "/" + dirPath + "@" ); if ( messageFile != null ) { cl.createArg().setValue( "--file" ); cl.createArg().setValue( messageFile.getAbsolutePath() ); + + cl.createArg().setValue( "--encoding" ); + cl.createArg().setValue( "UTF-8" ); } } else diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remoteinfo/SvnRemoteInfoCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -64,7 +64,7 @@ cl.createArg().setValue( "ls" ); - cl.createArg().setValue( baseUrl + "/tags" ); + cl.createArg().setValue( baseUrl + "/tags" + "@" ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); @@ -95,7 +95,7 @@ cl.createArg().setValue( "ls" ); - cl.createArg().setValue( baseUrl + "/tags" ); + cl.createArg().setValue( baseUrl + "/tags" + "@" ); stderr = new CommandLineUtils.StringStreamConsumer(); @@ -131,7 +131,7 @@ cl.createArg().setValue( "ls" ); - cl.createArg().setValue( url ); + cl.createArg().setValue( url + "@" ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -107,25 +107,25 @@ cl.createArg().setValue( SvnUtil.getSettings().getConfigDirectory() ); } - boolean hasAuthInfo = false; + boolean hasAuthInfo = false; if ( repository != null && !StringUtils.isEmpty( repository.getUser() ) ) { - hasAuthInfo = true; + hasAuthInfo = true; cl.createArg().setValue( "--username" ); cl.createArg().setValue( repository.getUser() ); } if ( repository != null && !StringUtils.isEmpty( repository.getPassword() ) ) { - hasAuthInfo = true; + hasAuthInfo = true; cl.createArg().setValue( "--password" ); cl.createArg().setValue( repository.getPassword() ); } - // [by Lenik] don't overwrite existing auth cache by default. - if ( hasAuthInfo && !SvnUtil.getSettings().isUseAuthCache() ) + // [by Lenik] don't overwrite existing auth cache by default. + if ( hasAuthInfo && !SvnUtil.getSettings().isUseAuthCache() ) { - cl.createArg().setValue( "--no-auth-cache" ); + cl.createArg().setValue( "--no-auth-cache" ); } if ( SvnUtil.getSettings().isUseNonInteractive() ) @@ -222,21 +222,61 @@ { String clString = cl.toString(); - int pos = clString.indexOf( "--password" ); + final String passwordOpt = "--password"; + String quoteChar; + String escapedQuoteChar; + String cryptedPassword; + + int pos = clString.indexOf( passwordOpt ); if ( pos > 0 ) { - String beforePassword = clString.substring( 0, pos + "--password ".length() ); - String afterPassword = clString.substring( pos + "--password ".length() ); - afterPassword = afterPassword.substring( afterPassword.indexOf( ' ' ) ); - if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + quoteChar = "\""; + escapedQuoteChar = "\"\""; + cryptedPassword = "*****"; + } + else + { + quoteChar = "'"; + escapedQuoteChar = "'\"'\"'"; + cryptedPassword = "'*****'"; + } + + // Move pointer after password option + pos += passwordOpt.length(); + + // Skip quote after password option + if ( clString.substring( pos, pos + 1 ).equals( quoteChar ) ) + { + pos++; + } + + // Skip space after password option + pos++; + + String beforePassword = clString.substring( 0, pos ); + String afterPassword = clString.substring( pos ); + + if ( afterPassword.startsWith( quoteChar ) ) { - clString = beforePassword + "*****" + afterPassword; + pos = 1; + while ( afterPassword.indexOf( escapedQuoteChar, pos ) != -1 ) + { + pos = afterPassword.indexOf( escapedQuoteChar, pos ) + escapedQuoteChar.length(); + } + afterPassword = afterPassword.substring ( afterPassword.indexOf( quoteChar, pos ) + + quoteChar.length() ); } else { - clString = beforePassword + "'*****'" + afterPassword; + // We assume that the password arg ist not the last one on the arg list + afterPassword = afterPassword.substring( afterPassword.indexOf( ' ' ) ); } + + clString = beforePassword + cryptedPassword + afterPassword; + } return clString; diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -64,6 +64,7 @@ ScmTagParameters scmTagParameters = new ScmTagParameters( message ); // force false to preserve backward comp scmTagParameters.setRemoteTagging( false ); + scmTagParameters.setPinExternals( false ); return executeTagCommand( repo, fileSet, tag, scmTagParameters ); } @@ -78,6 +79,7 @@ getLogger().debug( "SvnTagCommand :: scmTagParameters is null create an empty one" ); scmTagParameters = new ScmTagParameters(); scmTagParameters.setRemoteTagging( false ); + scmTagParameters.setPinExternals( false ); } else { @@ -101,8 +103,7 @@ try { - FileUtils.fileWrite( messageFile.getAbsolutePath(), scmTagParameters == null ? "" : scmTagParameters - .getMessage() ); + FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmTagParameters.getMessage() ); } catch ( IOException ex ) { @@ -162,7 +163,6 @@ { if ( StringUtils.isNotEmpty( fileSet.getExcludes() ) ) { - @SuppressWarnings( "unchecked" ) List list = FileUtils.getFiles( fileSet.getBasedir(), ( StringUtils.isEmpty( fileSet.getIncludes() ) ? "**" @@ -172,7 +172,6 @@ } else { - @SuppressWarnings( "unchecked" ) List list = FileUtils.getFiles( fileSet.getBasedir(), ( StringUtils.isEmpty( fileSet.getIncludes() ) ? "**" @@ -214,6 +213,8 @@ cl.createArg().setValue( "copy" ); + cl.createArg().setValue( "--parents" ); + cl.createArg().setValue( "--file" ); cl.createArg().setValue( messageFile.getAbsolutePath() ); @@ -222,7 +223,8 @@ // Note: this currently assumes you have the tag base checked out too String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag ) ); - cl.createArg().setValue( SvnCommandUtils.fixUrl( tagUrl, repository.getUser() ) ); + tagUrl = SvnCommandUtils.fixUrl( tagUrl, repository.getUser() ); + cl.createArg().setValue( tagUrl + "@" ); return cl; } @@ -239,6 +241,10 @@ cl.createArg().setValue( messageFile.getAbsolutePath() ); + cl.createArg().setValue( "--encoding" ); + + cl.createArg().setValue( "UTF-8" ); + cl.createArg().setValue( "--parents" ); if ( scmTagParameters != null && scmTagParameters.getScmRevision() != null ) @@ -249,10 +255,15 @@ } + if ( scmTagParameters != null && scmTagParameters.isPinExternals() ) + { + cl.createArg().setValue( "--pin-externals" ); + } if ( scmTagParameters != null && scmTagParameters.isRemoteTagging() ) { - cl.createArg().setValue( SvnCommandUtils.fixUrl( repository.getUrl(), repository.getUser() ) ); + String url = SvnCommandUtils.fixUrl( repository.getUrl(), repository.getUser() ); + cl.createArg().setValue( url + "@" ); } else { @@ -261,7 +272,8 @@ // Note: this currently assumes you have the tag base checked out too String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, new ScmTag( tag ) ); - cl.createArg().setValue( SvnCommandUtils.fixUrl( tagUrl, repository.getUser() ) ); + tagUrl = SvnCommandUtils.fixUrl( tagUrl, repository.getUser() ); + cl.createArg().setValue( tagUrl + "@" ); return cl; } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -90,14 +90,14 @@ UpdateScmResultWithRevision result = new UpdateScmResultWithRevision( cl.toString(), consumer.getUpdatedFiles(), String.valueOf( consumer.getRevision() ) ); - + result.setChanges( consumer.getChangeSets() ); if ( getLogger().isDebugEnabled() ) { getLogger().debug( "changeSets " + consumer.getChangeSets() ); } - + return result; } @@ -136,7 +136,7 @@ cl.createArg().setValue( version.getName() ); } - cl.createArg().setValue( workingDir ); + cl.createArg().setValue( workingDir + "@" ); } else { @@ -147,14 +147,15 @@ cl.createArg().setValue( "switch" ); if ( version instanceof ScmTag ) { - cl.createArg().setValue( SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) version ) ); + String tagUrl = SvnTagBranchUtils.resolveTagUrl( repository, (ScmTag) version ); + cl.createArg().setValue( tagUrl + "@" ); } else { - cl.createArg().setValue( - SvnTagBranchUtils.resolveBranchUrl( repository, (ScmBranch) version ) ); + String branchUrl = SvnTagBranchUtils.resolveBranchUrl( repository, (ScmBranch) version ); + cl.createArg().setValue( branchUrl + "@" ); } - cl.createArg().setValue( workingDir ); + cl.createArg().setValue( workingDir + "@" ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -45,11 +45,29 @@ ScmBranchParameters scmBranchParameters = new ScmBranchParameters(); scmBranchParameters.setRemoteBranching( true ); + scmBranchParameters.setPinExternals( false ); scmBranchParameters.setScmRevision( "2" ); testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user", - "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents --revision 2 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 --revision 2 https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", + scmBranchParameters ); + } + + public void testBranchUserNameSvnHttpsRemoteBranchingWithRevWithPinExternals() + throws Exception + { + File messageFile = File.createTempFile( "maven-scm", "commit" ); + messageFile.deleteOnExit(); + + ScmBranchParameters scmBranchParameters = new ScmBranchParameters(); + scmBranchParameters.setRemoteBranching( true ); + scmBranchParameters.setPinExternals( true ); + scmBranchParameters.setScmRevision( "2" ); + + testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user", + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 --pin-externals --revision 2 https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", scmBranchParameters ); } @@ -61,10 +79,26 @@ ScmBranchParameters scmBranchParameters = new ScmBranchParameters(); scmBranchParameters.setRemoteBranching( true ); + scmBranchParameters.setPinExternals( false ); + + testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user", + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", scmBranchParameters ); + } + + public void testBranchUserNameSvnHttpsRemoteBranchingNoRevWithPinExternals() + throws Exception + { + File messageFile = File.createTempFile( "maven-scm", "commit" ); + messageFile.deleteOnExit(); + + ScmBranchParameters scmBranchParameters = new ScmBranchParameters(); + scmBranchParameters.setRemoteBranching( true ); + scmBranchParameters.setPinExternals( true ); testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user", - "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", scmBranchParameters ); + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 --pin-externals https://foo.com/svn/trunk@ https://foo.com/svn/branches/svnbranch@", scmBranchParameters ); } public void testBranchUserNameSvnHttps() @@ -74,8 +108,8 @@ messageFile.deleteOnExit(); testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user", - "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents . https://foo.com/svn/branches/svnbranch", null ); + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 . https://foo.com/svn/branches/svnbranch@", null ); } public void testBranchUserNameSvnSsh() @@ -85,8 +119,8 @@ messageFile.deleteOnExit(); testCommandLine( "scm:svn:svn+ssh://foo.com/svn/trunk", "svnbranch", messageFile, "user", - "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents . svn+ssh://user@foo.com/svn/branches/svnbranch" ); + "svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 . svn+ssh://user@foo.com/svn/branches/svnbranch@" ); } private void testCommandLine( String scmUrl, String branch, File messageFile, String user, String commandLine, diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -42,14 +42,14 @@ throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, null, null, - "svn --non-interactive log -v http://foo.com/svn/trunk" ); + "svn --non-interactive log -v http://foo.com/svn/trunk@" ); } public void testCommandLineNoDatesLimitedCount() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, null, null, 40, - "svn --non-interactive log -v --limit 40 http://foo.com/svn/trunk" ); + "svn --non-interactive log -v --limit 40 http://foo.com/svn/trunk@" ); } public void testCommandLineWithDates() @@ -59,7 +59,7 @@ Date endDate = getDate( 2003, Calendar.OCTOBER, 10, GMT_TIME_ZONE ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, startDate, endDate, - "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/trunk@" ); } public void testCommandLineStartDateOnly() @@ -68,7 +68,7 @@ Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, startDate, null, - "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/trunk@" ); } public void testCommandLineDateFormat() @@ -78,7 +78,7 @@ Date endDate = getDate( 2005, Calendar.NOVEMBER, 13, 23, 23, 23, GMT_TIME_ZONE ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, startDate, endDate, - "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:{2005-11-13 23:23:23 +0000}\" http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:{2005-11-13 23:23:23 +0000}\" http://foo.com/svn/trunk@" ); } public void testCommandLineEndDateOnly() @@ -88,14 +88,14 @@ // Only specifying end date should print no dates at all testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, null, endDate, - "svn --non-interactive log -v http://foo.com/svn/trunk" ); + "svn --non-interactive log -v http://foo.com/svn/trunk@" ); } public void testCommandLineWithBranchNoDates() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), null, null, - "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" ); + "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" ); } public void testCommandLineWithBranchStartDateOnly() @@ -104,7 +104,7 @@ Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), startDate, null, - "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r \"{2003-09-10 01:01:01 +0000}:HEAD\" http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" ); } public void testCommandLineWithBranchEndDateOnly() @@ -114,7 +114,7 @@ // Only specifying end date should print no dates at all testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), null, endDate, - "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" ); + "svn --non-interactive log -v http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" ); } public void testCommandLineWithBranchBothDates() @@ -124,28 +124,28 @@ Date endDate = getDate( 2003, Calendar.OCTOBER, 10, GMT_TIME_ZONE ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "my-test-branch" ), startDate, endDate, - "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/branches/my-test-branch http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r \"{2003-09-10 00:00:00 +0000}:{2003-10-10 00:00:00 +0000}\" http://foo.com/svn/branches/my-test-branch@ http://foo.com/svn/trunk@" ); } public void testCommandLineWithStartVersion() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "1" ), null, - "svn --non-interactive log -v -r 1:HEAD http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r 1:HEAD http://foo.com/svn/trunk@" ); } public void testCommandLineWithStartVersionAndEndVersion() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "1" ), new ScmRevision( "10" ), - "svn --non-interactive log -v -r 1:10 http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r 1:10 http://foo.com/svn/trunk@" ); } public void testCommandLineWithStartVersionAndEndVersionEquals() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "1" ), new ScmRevision( "1" ), - "svn --non-interactive log -v -r 1 http://foo.com/svn/trunk" ); + "svn --non-interactive log -v -r 1 http://foo.com/svn/trunk@" ); } public void testCommandLineWithBaseVersion() diff -Nru maven-scm-1.9.5/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 maven-scm-1.11.1/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 --- maven-scm-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -23,13 +23,12 @@ import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.logging.Logger; import org.junit.Assert; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -83,7 +82,7 @@ final ChangeSet entry = consumer.getModifications().get( 0 ); - final List changedFiles = entry.getFiles(); + final List changedFiles = entry.getFiles(); final String revision = ( (ChangeFile) changedFiles.get( 0 ) ).getRevision(); assertEquals( "Valid revision expected", "15", revision ); @@ -154,14 +153,7 @@ private void consumeLog( final File logFile ) throws IOException { - final BufferedReader reader = new BufferedReader( new FileReader( logFile ) ); - String line = reader.readLine(); - - while ( line != null ) - { - consumer.consumeLine( line ); - line = reader.readLine(); - } + ConsumerUtils.consumeFile( logFile, consumer ); } public void testConsumerWithPattern1() @@ -171,14 +163,7 @@ File f = getTestFile( "/src/test/resources/svn/changelog/svnlog.txt" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); List modifications = consumer.getModifications(); @@ -228,16 +213,9 @@ File f = getTestFile( "/src/test/resources/svn/changelog/svnlog2.txt" ); - BufferedReader r = new BufferedReader( new FileReader( f ) ); - - String line; - - while ( ( line = r.readLine() ) != null ) - { - consumer.consumeLine( line ); - } + ConsumerUtils.consumeFile( f, consumer ); - List modifications = consumer.getModifications(); + List modifications = consumer.getModifications(); out.append( "nb modifications : " + modifications.size() ); diff -Nru maven-scm-1.9.5/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 maven-scm-1.11.1/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 --- maven-scm-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -51,7 +51,7 @@ { path = "\"" + path + "\""; } - messageFileString = "--file " + path; + messageFileString = "--file " + path + " --encoding UTF-8"; } public void testCommandLineWithEmptyTag() diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -65,7 +65,7 @@ throws Exception { testCommandLine( getScmManager(), "scm:svn:http://foo.com/svn/trunk", null, - "svn --non-interactive checkout http://foo.com/svn/trunk " + "svn --non-interactive checkout http://foo.com/svn/trunk@ " + workingDirectory.getAbsolutePath() ); } @@ -73,7 +73,7 @@ throws Exception { testCommandLine( getScmManager(), "scm:svn:http://foo.com/svn/trunk", "", - "svn --non-interactive checkout http://foo.com/svn/trunk " + "svn --non-interactive checkout http://foo.com/svn/trunk@ " + workingDirectory.getAbsolutePath() ); } @@ -81,7 +81,7 @@ throws Exception { testCommandLine( getScmManager(), "scm:svn:http://foo.com/svn/trunk", "10", - "svn --non-interactive checkout -r 10 http://foo.com/svn/trunk " + "svn --non-interactive checkout -r 10 http://foo.com/svn/trunk@ " + workingDirectory.getAbsolutePath() ); } @@ -90,7 +90,7 @@ { recursive = false; testCommandLine( getScmManager(), "scm:svn:http://foo.com/svn/trunk", "10", - "svn --non-interactive checkout -N -r 10 http://foo.com/svn/trunk " + "svn --non-interactive checkout -N -r 10 http://foo.com/svn/trunk@ " + workingDirectory.getAbsolutePath() ); } @@ -106,7 +106,6 @@ SvnScmProviderRepository svnRepository = (SvnScmProviderRepository) repository.getProviderRepository(); Commandline cl = - cl = SvnCheckOutCommand.createCommandLine( svnRepository, workingDirectory, new ScmRevision( revision ), svnRepository.getUrl(), recursive ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/export/SvnExportCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -36,7 +36,7 @@ File exportDirectory = new File( getBasedir() ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", exportDirectory, null, - "svn --non-interactive export --force scm:svn:http://foo.com/svn/trunk" ); + "svn --non-interactive export --force http://foo.com/svn/trunk@" ); } public void testGetExportCommandLineWithExplicitExportDirectory() @@ -45,7 +45,7 @@ File exportDirectory = new File( getBasedir() ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", exportDirectory, exportDirectory, - "svn --non-interactive export --force scm:svn:http://foo.com/svn/trunk " + exportDirectory ); + "svn --non-interactive export --force http://foo.com/svn/trunk@ " + exportDirectory + "@" ); } private void testCommandLine( String scmUrl, File workingDirectory, File exportDirectory, String commandLine ) @@ -55,7 +55,7 @@ SvnScmProviderRepository svnRepository = (SvnScmProviderRepository) repository.getProviderRepository(); - Commandline cl = SvnExeExportCommand.createCommandLine( svnRepository, exportDirectory, null, scmUrl, + Commandline cl = SvnExeExportCommand.createCommandLine( svnRepository, exportDirectory, null, svnRepository.getUrl(), exportDirectory != null?exportDirectory.getAbsolutePath():null ); assertCommandLine( commandLine, exportDirectory, cl ); diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -93,7 +93,7 @@ Commandline cl = SvnListCommand.createCommandLine( getSvnRepository( scmUrl ), fileSet, recursive, new ScmRevision( revision ) ); - assertCommandLine( commandLine + " http://foo.com/svn/trunk/.", + assertCommandLine( commandLine + " http://foo.com/svn/trunk/.@", new File( System.getProperty( "java.io.tmpdir" ) ), cl ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -46,21 +46,21 @@ messageFile = new File( "mkdir-message" ); - String path = messageFile.getAbsolutePath(); + String path = messageFile.getAbsolutePath(); FileUtils.fileWrite( path, "create missing directory" ); - + if ( path.indexOf( ' ' ) >= 0 ) { path = "\"" + path + "\""; } - messageFileString = "--file " + path; + messageFileString = "--file " + path + " --encoding UTF-8"; } - + protected void tearDown() throws Exception { assertTrue( messageFile.delete() ); - + super.tearDown(); } @@ -68,21 +68,21 @@ throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", - "svn --non-interactive mkdir http://foo.com/svn/trunk/missing " + messageFileString, false ); + "svn --non-interactive mkdir --parents http://foo.com/svn/trunk/missing@ " + messageFileString, false ); } public void testCommandLineMkdirUrlWithUsername() throws Exception { testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", - "svn --username anonymous --no-auth-cache --non-interactive mkdir http://foo.com/svn/trunk/missing " + + "svn --username anonymous --no-auth-cache --non-interactive mkdir --parents http://foo.com/svn/trunk/missing@ " + messageFileString, false ); } public void testCommandLineMkdirLocalPath() throws Exception { - testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive mkdir missing ", true ); + testCommandLine( "scm:svn:http://foo.com/svn/trunk", "svn --non-interactive mkdir --parents missing ", true ); } private void testCommandLine( String scmUrl, String commandLine, boolean createInLocal ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtilsTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -21,8 +21,11 @@ import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.Commandline; +import static org.junit.Assert.assertNotEquals; + import java.io.File; /** @@ -35,6 +38,9 @@ public void testCryptPassword() throws Exception { + /* FIXME Plexus does not quote the crypted password on Windows which is actually incorrect at the moment + * it would cause wildcard expansion with cmd: https://github.com/codehaus-plexus/plexus-utils/issues/37. + */ SvnScmProviderRepository repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password" ); String clString = @@ -48,5 +54,72 @@ SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); assertCommandLine( "svn --username username --no-auth-cache --non-interactive", new File( "." ), SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password with spaces" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + assertEquals( expectedCmd.toString(), clString ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password'with'single'quotes" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + assertEquals( expectedCmd.toString(), clString ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password'with'single'quotes and spaces" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + assertEquals( expectedCmd.toString(), clString ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password\"with\"double\"quotes" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + assertEquals( expectedCmd.toString(), clString ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password\"with\"double\"quotes and spaces" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + // FIXME https://github.com/codehaus-plexus/plexus-utils/issues/36 + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + assertNotEquals( expectedCmd.toString(), clString ); + } + else { + assertEquals( expectedCmd.toString(), clString ); + } + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password\"with\"double\"quotes'and'single'quotes" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + assertEquals( expectedCmd.toString(), clString ); + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", "password\"with\"double\"quotes'and'single'quotes and spaces" ); + clString = + SvnCommandLineUtils.cryptPassword( SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); + expectedCmd = new Commandline( "svn --username username --password ***** --no-auth-cache --non-interactive" ); + expectedCmd.setWorkingDirectory( new File( "." ).getAbsolutePath() ); + // FIXME https://github.com/codehaus-plexus/plexus-utils/issues/36 + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + assertNotEquals( expectedCmd.toString(), clString ); + } + else { + assertEquals( expectedCmd.toString(), clString ); + } + + repo = new SvnScmProviderRepository( "https://svn.apache.org/repos/asf/maven/scm/trunk", "username", null ); + assertCommandLine( "svn --username username --no-auth-cache --non-interactive", new File( "." ), + SvnCommandLineUtils.getBaseSvnCommandLine( new File( "." ), repo ) ); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -44,7 +44,7 @@ testCommandLine( "scm:svn:svn+ssh://foo.com/svn/trunk", "svntag", messageFile, "user", "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() + - " --parents . svn+ssh://user@foo.com/svn/tags/svntag", null ); + " --encoding UTF-8 --parents . svn+ssh://user@foo.com/svn/tags/svntag@", null ); } public void testTagRemoteTagHttps() @@ -55,9 +55,24 @@ ScmTagParameters scmTagParameters = new ScmTagParameters(); scmTagParameters.setRemoteTagging( true ); + scmTagParameters.setPinExternals( false ); testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user", "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", scmTagParameters ); + + " --encoding UTF-8 --parents https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", scmTagParameters ); + } + + public void testTagRemoteTagHttpsWithPinExternals() + throws Exception + { + File messageFile = File.createTempFile( "maven-scm", "commit" ); + messageFile.deleteOnExit(); + + ScmTagParameters scmTagParameters = new ScmTagParameters(); + scmTagParameters.setRemoteTagging( true ); + scmTagParameters.setPinExternals( true ); + testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user", + "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 --parents --pin-externals https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", scmTagParameters ); } public void testTagRemoteTagHttpsWithRevision() @@ -68,10 +83,27 @@ ScmTagParameters scmTagParameters = new ScmTagParameters(); scmTagParameters.setRemoteTagging( true ); + scmTagParameters.setPinExternals( false ); + scmTagParameters.setScmRevision( "12" ); + testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user", + "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() + + " --encoding UTF-8 --parents --revision 12 https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", + scmTagParameters ); + } + + public void testTagRemoteTagHttpsWithRevisionAndPinExternals() + throws Exception + { + File messageFile = File.createTempFile( "maven-scm", "commit" ); + messageFile.deleteOnExit(); + + ScmTagParameters scmTagParameters = new ScmTagParameters(); + scmTagParameters.setRemoteTagging( true ); + scmTagParameters.setPinExternals( true ); scmTagParameters.setScmRevision( "12" ); testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user", "svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() - + " --parents --revision 12 https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", + + " --encoding UTF-8 --parents --revision 12 --pin-externals https://foo.com/svn/trunk@ https://foo.com/svn/tags/svntag@", scmTagParameters ); } diff -Nru maven-scm-1.9.5/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-1.11.1/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-1.9.5/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 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/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 2018-09-11 20:05:31.000000000 +0000 @@ -43,49 +43,49 @@ throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmTag( "" ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithEmptyBranch() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "" ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithEmptyVersion() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( "" ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithWhitespaceTag() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmTag( " " ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithWhitespaceBranch() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( " " ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithWhitespaceRevision() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmRevision( " " ), - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithoutTag() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, - "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive update " + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineTag() @@ -93,7 +93,7 @@ { testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", new ScmRevision( "10" ), "svn --username anonymous --no-auth-cache --non-interactive update -r 10 " + - getUpdateTestFile().getAbsolutePath() ); + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithUsernameAndTag() @@ -101,7 +101,7 @@ { testCommandLine( "scm:svn:http://anonymous@foo.com/svn/trunk", new ScmRevision( "10" ), "svn --username anonymous --no-auth-cache --non-interactive update -r 10 " + - getUpdateTestFile().getAbsolutePath() ); + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithCygwinProperty() @@ -114,7 +114,7 @@ { assertTrue( SvnUtil.getSettings().isUseCygwinPath() ); testCommandLine( "scm:svn:http://foo.com/svn/trunk", null, - "svn --non-interactive update /mnt/c/my_working_directory", + "svn --non-interactive update /mnt/c/my_working_directory@", new File( "c:\\my_working_directory" ) ); } finally @@ -128,8 +128,8 @@ throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "branches/my-test-branch" ), - "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch " + - getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch@ " + + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithAbsoluteURLTag() @@ -137,32 +137,32 @@ { testCommandLine( "scm:svn:http://foo.com/svn/trunk", new ScmBranch( "http://foo.com/svn/branches/my-test-branch" ), - "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch " + - getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive switch http://foo.com/svn/branches/my-test-branch@ " + + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithNonDeterminantBase() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/some-project", new ScmBranch( "branches/my-test-branch" ), - "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch " + - getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch@ " + + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithNonDeterminantBaseTrailingSlash() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/some-project/", new ScmBranch( "branches/my-test-branch" ), - "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch " + - getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive switch http://foo.com/svn/some-project/branches/my-test-branch@ " + + getUpdateTestFile().getAbsolutePath() + "@" ); } public void testCommandLineWithBranchSameAsBase() throws Exception { testCommandLine( "scm:svn:http://foo.com/svn/tags/my-tag", new ScmTag( "tags/my-tag" ), - "svn --non-interactive switch http://foo.com/svn/tags/my-tag " + - getUpdateTestFile().getAbsolutePath() ); + "svn --non-interactive switch http://foo.com/svn/tags/my-tag@ " + + getUpdateTestFile().getAbsolutePath() + "@" ); } // ---------------------------------------------------------------------- diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers-svn - 1.9.5 + 1.11.1 maven-scm-provider-svntest diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,8 +22,6 @@ import junit.framework.Assert; import org.apache.maven.scm.ScmTestCase; import org.codehaus.plexus.util.FileUtils; -import org.codehaus.plexus.util.Os; -import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -55,7 +53,7 @@ { FileUtils.deleteDirectory( repositoryRoot ); } - + Assert.assertFalse( "repositoryRoot still exists", repositoryRoot.exists() ); Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(), @@ -132,36 +130,6 @@ public static String getScmUrl( File repositoryRootFile ) throws CommandLineException { - String repositoryRoot = repositoryRootFile.getAbsolutePath(); - - // TODO: it'd be great to build this into CommandLineUtils somehow - // TODO: some way without a custom cygwin sys property? - if ( "true".equals( System.getProperty( "cygwin" ) ) ) - { - Commandline cl = new Commandline(); - - cl.setExecutable( "cygpath" ); - - cl.createArg().setValue( "--unix" ); - - cl.createArg().setValue( repositoryRoot ); - - CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); - - int exitValue = CommandLineUtils.executeCommandLine( cl, stdout, null ); - - if ( exitValue != 0 ) - { - throw new CommandLineException( "Unable to convert cygwin path, exit code = " + exitValue ); - } - - repositoryRoot = stdout.getOutput().trim(); - } - else if ( Os.isFamily( "windows" ) ) - { - repositoryRoot = "/" + StringUtils.replace( repositoryRoot, "\\", "/" ); - } - - return "scm:svn:file://" + repositoryRoot; + return "scm:svn:" + repositoryRootFile.toPath().toAbsolutePath().toUri().toASCIIString(); } } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-providers-svn/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-providers-svn/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-providers-svn diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-starteam @@ -45,8 +45,8 @@ generate-metadata - - + + org.codehaus.modello @@ -63,7 +63,6 @@ 1.0.0 - true src/main/mdo/starteam-settings.mdo diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/checkout/StarteamCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -51,7 +51,7 @@ /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { if ( fileSet.getFileList().size() != 0 ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/tag/StarteamTagCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -58,7 +58,7 @@ ScmTagParameters scmTagParameters ) throws ScmException { - if ( fileSet.getFileList().isEmpty() ) + if ( !fileSet.getFileList().isEmpty() ) { throw new ScmException( "This provider doesn't support tagging subsets of a directory" ); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/util/StarteamUtil.java 2018-09-11 20:05:31.000000000 +0000 @@ -30,7 +30,6 @@ /** * @author Dan T. Tran - * @version $Id: $ */ public final class StarteamUtil { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/mdo/starteam-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/mdo/starteam-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/main/mdo/starteam-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/main/mdo/starteam-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,8 @@ ~ under the License. --> - starteam diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/changelog/StarteamChangeLogConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -22,11 +22,9 @@ import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -62,21 +60,10 @@ File basedir = new File( "C:/Test" ); - FileInputStream fis = new FileInputStream( testFile ); - - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - - String s = in.readLine(); - StarteamChangeLogConsumer consumer = new StarteamChangeLogConsumer( basedir, new DefaultLog(), null, null, null ); - while ( s != null ) - { - consumer.consumeLine( s ); - - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); return consumer.getModifications(); } diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/diff/StarteamDiffConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,15 +19,13 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.util.Collection; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Dan T. Tran @@ -48,22 +46,11 @@ public void testParse() throws Exception { - FileInputStream fis = new FileInputStream( testFile ); - - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - - String s = in.readLine(); - File basedir = new File( getBasedir() ); StarteamDiffConsumer consumer = new StarteamDiffConsumer( new DefaultLog(), basedir ); - while ( s != null ) - { - consumer.consumeLine( s ); - - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); Collection entries = consumer.getChangedFiles(); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/status/StarteamStatusConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,13 +19,11 @@ * under the License. */ -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; /** * @author Dan T. Tran @@ -49,20 +47,9 @@ public void testParse() throws Exception { - FileInputStream fis = new FileInputStream( testFile ); - - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - - String s = in.readLine(); - StarteamStatusConsumer consumer = new StarteamStatusConsumer( new DefaultLog(), new File( WORKING_DIR ) ); - while ( s != null ) - { - consumer.consumeLine( s ); - - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); assertEquals( "Wrong number of entries returned", 4, consumer.getChangedFiles().size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-synergy diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/src/main/java/org/apache/maven/scm/provider/synergy/command/checkout/SynergyCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -49,7 +49,7 @@ /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { if ( fileSet.getFileList().size() != 0 ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-synergy/src/test/java/org/apache/maven/scm/provider/synergy/util/SynergyCCMTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -19,9 +19,9 @@ * under the License. */ -import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmTag; import org.apache.maven.scm.ScmTestCase; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.Commandline; import java.io.File; @@ -124,18 +124,22 @@ * of testing. */ - Commandline cl = SynergyCCM.createTask( "the synopsis", "release", true, "CCM_ADDR" ); - assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); - String actual = cl.toString().replace( '\"', '\'' ); - String expected = "ccm task -create -synopsis 'the synopsis' -release release"; - assertTrue( "[" + actual + "] does not contain [" + expected + "]", - actual.indexOf( expected ) > -1 ); - - cl = SynergyCCM.createTask( "the synopsis", null, true, "CCM_ADDR" ); - actual = cl.toString().replace( '\"', '\'' ); - expected = "ccm task -create -synopsis 'the synopsis'"; - assertTrue( "[" + actual + "] does not contain [" + expected + "]", - actual.indexOf( expected ) > -1 ); + // This test is broken on non-Windows + if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) + { + Commandline cl = SynergyCCM.createTask( "the synopsis", "release", true, "CCM_ADDR" ); + assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); + String actual = cl.toString().replace( '\"', '\'' ); + String expected = "ccm task -create -synopsis 'the synopsis' -release release"; + assertTrue( "[" + actual + "] does not contain [" + expected + "]", + actual.indexOf( expected ) > -1 ); + + cl = SynergyCCM.createTask( "the synopsis", null, true, "CCM_ADDR" ); + actual = cl.toString().replace( '\"', '\'' ); + expected = "ccm task -create -synopsis 'the synopsis'"; + assertTrue( "[" + actual + "] does not contain [" + expected + "]", + actual.indexOf( expected ) > -1 ); + } } public void testCheckinTask() @@ -393,7 +397,7 @@ Commandline cl = SynergyCCM.start( "user", "pass", SynergyRole.BUILD_MGR ); assertCommandLine( "ccm start -nogui -m -q -n user -pw pass -r build_mgr", null, cl ); } - + public void testStartRemote() throws Exception { @@ -416,23 +420,23 @@ assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); assertCommandLine( "ccm delimiter", null, cl ); } - + public void testShowDefaultTask() - throws Exception + throws Exception { - Commandline cl = SynergyCCM.showDefaultTask( "CCM_ADDR" ); - assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); - assertCommandLine( "ccm task -default", null, cl ); + Commandline cl = SynergyCCM.showDefaultTask( "CCM_ADDR" ); + assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); + assertCommandLine( "ccm task -default", null, cl ); } - + public void testSetDefaultTask() - throws Exception - { - Commandline cl = SynergyCCM.setDefaultTask( 4711, "CCM_ADDR" ); - assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); - assertCommandLine( "ccm task -default 4711", null, cl ); - } - + throws Exception + { + Commandline cl = SynergyCCM.setDefaultTask( 4711, "CCM_ADDR" ); + assertTrue( "CCM_ADDR is not set.", assertContains( cl.getEnvironmentVariables(), "CCM_ADDR=CCM_ADDR" ) ); + assertCommandLine( "ccm task -default 4711", null, cl ); + } + public boolean assertContains( String[] array, String value ) { diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-tfs diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -38,7 +38,7 @@ { protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository r, ScmFileSet f, ScmVersion v, - boolean recursive ) + boolean recursive, boolean shallow ) throws ScmException { TfsScmProviderRepository tfsRepo = (TfsScmProviderRepository) r; diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumerTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumerTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumerTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-tfs/src/test/java/org/apache/maven/scm/provider/tfs/command/blame/TfsBlameConsumerTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -23,11 +23,9 @@ import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.blame.BlameLine; import org.apache.maven.scm.log.DefaultLog; +import org.apache.maven.scm.util.ConsumerUtils; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; /** * @author Evgeny Mandrikov @@ -43,14 +41,7 @@ TfsBlameConsumer consumer = new TfsBlameConsumer( new DefaultLog() ); - FileInputStream fis = new FileInputStream( testFile ); - BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); - String s = in.readLine(); - while ( s != null ) - { - consumer.consumeLine( s ); - s = in.readLine(); - } + ConsumerUtils.consumeFile( testFile, consumer ); Assert.assertEquals( 3, consumer.getLines().size() ); diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/pom.xml maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/pom.xml --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm-providers - 1.9.5 + 1.11.1 maven-scm-provider-vss @@ -51,42 +51,40 @@ org.codehaus.modello modello-maven-plugin - 1.0-alpha-21 + generate-xsd-site + pre-site + + xsd + + + ${project.reporting.outputDirectory}/xsd + + + + site-docs + pre-site + + xdoc + + + + standard java xpp3-reader xpp3-writer - xsd 1.0.0 - src/main/mdo/vss-settings.mdo + + src/main/mdo/vss-settings.mdo + - - org.codehaus.mojo - build-helper-maven-plugin - 1.8 - - - add-modello-source-needed-by-eclipse-since-we-cant-upgrade-modello-maven-plugin - - generate-sources - - add-source - - - - ${project.build.directory}/generated-sources/modello - - - - - diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkin/VssCheckInCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkin/VssCheckInCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkin/VssCheckInCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkin/VssCheckInCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -41,7 +41,6 @@ * @author Mateus Pimenta * @author Olivier Lamy * @since 1.3 - * @version $Id * */ public class VssCheckInCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/checkout/VssCheckOutCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -33,7 +33,6 @@ /** * @author Thorsten Riek - * @version $Id: VssCheckOutCommand.java 02.06.2006 00:05:51 */ public class VssCheckOutCommand extends AbstractCheckOutCommand @@ -41,7 +40,7 @@ /** {@inheritDoc} */ protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repository, ScmFileSet fileSet, - ScmVersion version, boolean recursive ) + ScmVersion version, boolean recursive, boolean shallow ) throws ScmException { if ( getLogger().isDebugEnabled() ) diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/edit/VssEditCommand.java 2018-09-11 20:05:31.000000000 +0000 @@ -41,7 +41,6 @@ /** * @author Thorsten Riek - * @version $Id: VssCheckOutCommand.java 02.06.2006 00:05:51 */ public class VssEditCommand extends AbstractEditCommand diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo 2018-09-11 20:05:31.000000000 +0000 @@ -19,8 +19,8 @@ ~ under the License. --> - vss diff -Nru maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/test/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtilsTest.java maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/test/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtilsTest.java --- maven-scm-1.9.5/maven-scm-providers/maven-scm-provider-vss/src/test/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtilsTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/maven-scm-provider-vss/src/test/java/org/apache/maven/scm/provider/vss/commands/VssCommandLineUtilsTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -60,7 +60,7 @@ final String vssInstallPath = "c:\\wherever"; final String vssInstallPathAlt = "c:\\somewhere"; final String settingsXml = - "" + vssInstallPath + ""; + "" + vssInstallPath + ""; final String settingsFilename = "vss-settings.xml"; final String backupFilename = settingsFilename + ".backup"; boolean preExistingScmFolder = false; diff -Nru maven-scm-1.9.5/maven-scm-providers/pom.xml maven-scm-1.11.1/maven-scm-providers/pom.xml --- maven-scm-1.9.5/maven-scm-providers/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-providers/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ maven-scm org.apache.maven.scm - 1.9.5 + 1.11.1 maven-scm-providers diff -Nru maven-scm-1.9.5/maven-scm-test/pom.xml maven-scm-1.11.1/maven-scm-test/pom.xml --- maven-scm-1.9.5/maven-scm-test/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-test/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,7 +25,7 @@ org.apache.maven.scm maven-scm - 1.9.5 + 1.11.1 maven-scm-test @@ -46,9 +46,8 @@ org.sonatype.plexus plexus-sec-dispatcher - 1.3 - + junit junit diff -Nru maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java --- maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java 2018-09-11 20:05:31.000000000 +0000 @@ -592,6 +592,14 @@ return getCheckOutScmResult(); } + @Override + public CheckOutScmResult checkOut( ScmRepository scmRepository, ScmFileSet scmFileSet, ScmVersion version, + CommandParameters commandParameters ) + throws ScmException + { + return getCheckOutScmResult(); + } + /** * {@inheritDoc} */ diff -Nru maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java --- maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java 2018-09-11 20:05:31.000000000 +0000 @@ -146,9 +146,9 @@ } /** - * If you wish to use this component, makesure to configure your + * If you wish to use this component, make sure to configure your * TCK implementation to include plexus component configuration - * as doc at https://jira.codehaus.org/browse/MNG-4384 + * as doc at https://issues.apache.org/jira/browse/MNG-4384 * @return SecDispatcher * @throws Exception */ @@ -205,7 +205,7 @@ printOutputError( result ); - fail( "The check out result success flag was false." ); + fail( "The command result success flag was false." ); } protected void printOutputError( ScmResult result ) @@ -384,4 +384,9 @@ return false; } } + + public static void printSystemCmdUnavail( String cmd, String testName ) + { + System.err.printf( "'%s' is not a system command. Ignored %s.%n", cmd, testName ); + } } diff -Nru maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java --- maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/branch/BranchCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -57,7 +57,7 @@ assertResultIsSuccess( branchResult ); - // see https://jira.codehaus.org/browse/SCM-754 + // see https://issues.apache.org/jira/browse/SCM-754 //assertEquals( "check all 4 files branched", 4, branchResult.getBranchedFiles().size() ); File readmeTxt = new File( getWorkingCopy(), "readme.txt" ); diff -Nru maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java --- maven-scm-1.9.5/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java 2018-09-11 20:05:31.000000000 +0000 @@ -57,7 +57,7 @@ assertResultIsSuccess( tagResult ); - // see https://jira.codehaus.org/browse/SCM-754 + // see https://issues.apache.org/jira/browse/SCM-754 // assertEquals( "check all 4 files tagged", 4, tagResult.getTaggedFiles().size() ); File readmeTxt = new File( getWorkingCopy(), "readme.txt" ); diff -Nru maven-scm-1.9.5/pom.xml maven-scm-1.11.1/pom.xml --- maven-scm-1.9.5/pom.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/pom.xml 2018-09-11 20:05:31.000000000 +0000 @@ -25,17 +25,17 @@ org.apache.maven maven-parent - 30 + 32 org.apache.maven.scm maven-scm - 1.9.5 + 1.11.1 pom Maven SCM Maven SCM provides a common API for doing SCM operations. - http://maven.apache.org/scm/ + https://maven.apache.org/scm/ 2003 @@ -111,10 +111,10 @@ - scm:git:https://git-wip-us.apache.org/repos/asf/maven-scm.git - scm:git:https://git-wip-us.apache.org/repos/asf/maven-scm.git + scm:git:https://gitbox.apache.org/repos/asf/maven-scm.git + scm:git:https://gitbox.apache.org/repos/asf/maven-scm.git https://github.com/apache/maven-scm/tree/${project.scm.tag} - maven-scm-1.9.5 + maven-scm-1.11.1 @@ -123,13 +123,13 @@ Jenkins - https://builds.apache.org/job/maven-scm/ + https://builds.apache.org/job/maven-box/job/maven-scm/ apache.website - scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/components/${maven.site.path} + scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path} @@ -137,6 +137,7 @@ scm-archives/scm-LATEST RedundantThrows,NewlineAtEndOfFile,ParameterNumber,MethodLength,FileLength,InnerAssignment,MagicNumber false + 7 @@ -264,7 +265,12 @@ org.codehaus.plexus plexus-utils - 3.0.15 + 3.1.0 + + + org.sonatype.plexus + plexus-sec-dispatcher + 1.4 @@ -275,19 +281,19 @@ commons-io commons-io - 2.2 + 2.6 junit junit - 4.11 + 4.12 org.mockito mockito-core - 1.9.5 + 1.10.19 org.apache.maven.scm @@ -324,22 +330,11 @@ - org.apache.maven.plugins - maven-release-plugin - - true - - - - org.codehaus.modello - modello-maven-plugin - 1.8.2 - - org.apache.rat apache-rat-plugin + .checkstyle .gitignore README.txt *.sh @@ -351,75 +346,13 @@ **/src/main/resources/tck-repository/** src/test/resources/** src/test/repository/** + src/test/linear-changelog/** src/test/tck-repository/** src/main/resources/tck/** - .java-version - .repository/** .travis.yml - - - org.eclipse.m2e - lifecycle-mapping - 1.0.0 - - - - - - org.apache.rat - - apache-rat-plugin - - [0.11,) - - check - - - - - - - - - - org.apache.maven.plugins - - - maven-enforcer-plugin - - [1.3.1,) - - enforce - - - - - - - - - - org.apache.maven.plugins - - - maven-remote-resources-plugin - - [1.5,) - - process - - - - - - - - - - @@ -430,13 +363,13 @@ org.codehaus.mojo.signature - java15 + java17 1.0 - check-java-1.5-compat + check-java-1.7-compat process-classes check @@ -451,12 +384,11 @@ org.codehaus.mojo extra-enforcer-rules - 1.0-beta-4 + 1.0-beta-9 - @@ -499,7 +431,6 @@ - reporting @@ -683,6 +614,82 @@ + + only-eclipse + + + m2e.version + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.apache.rat + + apache-rat-plugin + + [0.11,) + + check + + + + + + + + + + org.apache.maven.plugins + + + maven-enforcer-plugin + + [1.3.1,) + + enforce + + + + + + + + + + org.apache.maven.plugins + + + maven-remote-resources-plugin + + [1.5,) + + process + + + + + + + + + + + + + + diff -Nru maven-scm-1.9.5/src/site/apt/git.apt maven-scm-1.11.1/src/site/apt/git.apt --- maven-scm-1.9.5/src/site/apt/git.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/apt/git.apt 2018-09-11 20:05:31.000000000 +0000 @@ -79,12 +79,5 @@ * Provider Configuration - The provider configuration is defined in <<<${user.home}/.scm/git-settings.xml>>>. - -------- - - - false - -------- - + The provider configuration is defined in <<<$\{user.home\}/.scm/git-settings.xml>>>. + For more information see the {{{./maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/git-settings.html}reference guide}}. diff -Nru maven-scm-1.9.5/src/site/apt/guide/new_provider.apt maven-scm-1.11.1/src/site/apt/guide/new_provider.apt --- maven-scm-1.9.5/src/site/apt/guide/new_provider.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/apt/guide/new_provider.apt 2018-09-11 20:05:31.000000000 +0000 @@ -84,12 +84,12 @@ org.codehaus.plexus - plexus-maven-plugin - 1.3.8 + plexus-component-metadata + 1.7.1 - descriptor + generate-metadata @@ -99,7 +99,7 @@ +------------------------------------------+ - The plexus maven plugin will generate the plexus meta-data file used by the + The plexus-component-metadata maven plugin will generate the Plexus meta-data file used by the Maven-SCM manager. * Create an SCM Provider Repository class diff -Nru maven-scm-1.9.5/src/site/apt/guide/usage.apt maven-scm-1.11.1/src/site/apt/guide/usage.apt --- maven-scm-1.9.5/src/site/apt/guide/usage.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/apt/guide/usage.apt 2018-09-11 20:05:31.000000000 +0000 @@ -32,7 +32,7 @@ ** With Plexus IOC - With {{{http://plexus.codehaus.org}Plexus}}, it's very easy to use Maven SCM + With {{{http://codehaus-plexus.github.io/}Plexus}}, it's very easy to use Maven SCM because it injects all dependencies in fields, so you only have to write minimal code. diff -Nru maven-scm-1.9.5/src/site/apt/subversion.apt maven-scm-1.11.1/src/site/apt/subversion.apt --- maven-scm-1.9.5/src/site/apt/subversion.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/apt/subversion.apt 2018-09-11 20:05:31.000000000 +0000 @@ -60,23 +60,8 @@ * Provider Configuration - The provider configuration is defined in <<<${user.home}/.scm/svn-settings.xml>>>. - - Here is an example of what a configuration file might look like: - -------- - - your_configuration_directory - true in order to use cygwin path /cygdrive/c - the mount path to use default is /cygwin - if false --non-interactive will not be used in the svn command line - if true --no-auth-cache will not be used in the svn command line - if true --trust-server-cert will be used in the cli - -------- - - For more info see the - {{{./maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/svn-settings.html}reference guide}}. + The provider configuration is defined in <<<$\{user.home\}/.scm/svn-settings.xml>>>. + For more information see the {{{./maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/svn-settings.html}reference guide}}. ** Configuration directory diff -Nru maven-scm-1.9.5/src/site/apt/vss.apt maven-scm-1.11.1/src/site/apt/vss.apt --- maven-scm-1.9.5/src/site/apt/vss.apt 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/apt/vss.apt 2018-09-11 20:05:31.000000000 +0000 @@ -56,7 +56,7 @@ * Provider Configuration - The provider configuration is defined in <<<${user.home}/.scm/vss-settings.xml>>> + The provider configuration is defined in <<<$\{user.home\}/.scm/vss-settings.xml>>> ** VSS Installation directory @@ -64,9 +64,7 @@ ------- - - ss_exe_directory - + ss_exe_directory ------- diff -Nru maven-scm-1.9.5/src/site/site.xml maven-scm-1.11.1/src/site/site.xml --- maven-scm-1.9.5/src/site/site.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/site.xml 2018-09-11 20:05:31.000000000 +0000 @@ -50,7 +50,7 @@ - +
diff -Nru maven-scm-1.9.5/src/site/xdoc/download.xml.vm maven-scm-1.11.1/src/site/xdoc/download.xml.vm --- maven-scm-1.9.5/src/site/xdoc/download.xml.vm 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/xdoc/download.xml.vm 2018-09-11 20:05:31.000000000 +0000 @@ -34,7 +34,7 @@

In order to guard against corrupted downloads/installations, it is highly recommended to verify the signature - of the release bundles against the public KEYS used by the Apache Maven + of the release bundles against the public KEYS used by the Apache Maven developers.

${project.name} is distributed under the Apache License, version 2.0.

@@ -108,8 +108,8 @@ ${project.name} ${project.version} (Source zip) maven/scm/${project.artifactId}-${project.version}-source-release.zip - maven/scm/${project.artifactId}-${project.version}-source-release.zip.md5 - maven/scm/${project.artifactId}-${project.version}-source-release.zip.asc + maven/scm/${project.artifactId}-${project.version}-source-release.zip.sha512 + maven/scm/${project.artifactId}-${project.version}-source-release.zip.asc diff -Nru maven-scm-1.9.5/src/site/xdoc/matrix.xml maven-scm-1.11.1/src/site/xdoc/matrix.xml --- maven-scm-1.9.5/src/site/xdoc/matrix.xml 2016-07-01 10:06:23.000000000 +0000 +++ maven-scm-1.11.1/src/site/xdoc/matrix.xml 2018-09-11 20:05:31.000000000 +0000 @@ -1072,7 +1072,7 @@