You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/05/21 22:03:11 UTC

[maven-scm] 01/01: [SCM-983] Drop SCM Logger in favor of SLF4J

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch scm-979-delogging
in repository https://gitbox.apache.org/repos/asf/maven-scm.git

commit 1f6d1281a058d3cf917fdc8e26d079e4d0c5a2b5
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Fri May 20 13:03:58 2022 +0200

    [SCM-983] Drop SCM Logger in favor of SLF4J
    
    Using plain SLF4J logging. Anyone integrating SCM should provide a SLF4J
    implementation and configure it as he likes.
    
    This closes #142
---
 maven-scm-api/pom.xml                              |   5 +
 .../apache/maven/scm/command/AbstractCommand.java  |  18 +-
 .../java/org/apache/maven/scm/command/Command.java |  11 -
 .../java/org/apache/maven/scm/log/DefaultLog.java  | 182 ----------------
 .../org/apache/maven/scm/log/ScmLogDispatcher.java | 228 ---------------------
 .../java/org/apache/maven/scm/log/ScmLogger.java   |  60 ------
 .../org/apache/maven/scm/log/Slf4jScmLogger.java   | 190 -----------------
 .../maven/scm/manager/AbstractScmManager.java      |  11 +-
 .../maven/scm/provider/AbstractScmProvider.java    |  36 +---
 .../org/apache/maven/scm/provider/ScmProvider.java |   8 -
 .../apache/maven/scm/util/AbstractConsumer.java    |  26 +--
 .../maven-scm-manager-plexus/pom.xml               |   4 +
 .../scm/manager/plexus/DefaultScmManager.java      |   2 +-
 .../org/apache/maven/scm/plugin/DefaultLog.java    | 133 ------------
 maven-scm-providers/maven-scm-provider-hg/pom.xml  |   4 +
 .../org/apache/maven/scm/provider/hg/HgConfig.java |   2 -
 .../maven/scm/provider/hg/HgScmProvider.java       |  26 +--
 .../org/apache/maven/scm/provider/hg/HgUtils.java  |  57 +++---
 .../maven/scm/provider/hg/command/HgConsumer.java  |  30 ++-
 .../scm/provider/hg/command/add/HgAddCommand.java  |   4 +-
 .../scm/provider/hg/command/add/HgAddConsumer.java |  12 +-
 .../provider/hg/command/blame/HgBlameCommand.java  |   4 +-
 .../provider/hg/command/blame/HgBlameConsumer.java |   9 +-
 .../hg/command/branch/HgBranchCommand.java         |  12 +-
 .../hg/command/changelog/HgChangeLogCommand.java   |   8 +-
 .../hg/command/changelog/HgChangeLogConsumer.java  |   4 +-
 .../hg/command/checkin/HgCheckInCommand.java       |   9 +-
 .../hg/command/checkout/HgCheckOutCommand.java     |  12 +-
 .../hg/command/checkout/HgCheckOutConsumer.java    |   4 +-
 .../provider/hg/command/diff/HgDiffCommand.java    |   4 +-
 .../provider/hg/command/diff/HgDiffConsumer.java   |  15 +-
 .../provider/hg/command/info/HgInfoCommand.java    |   4 +-
 .../provider/hg/command/info/HgInfoConsumer.java   |   8 +-
 .../hg/command/inventory/HgListCommand.java        |   4 +-
 .../hg/command/inventory/HgListConsumer.java       |   8 +-
 .../hg/command/inventory/HgOutgoingConsumer.java   |   6 -
 .../hg/command/remove/HgRemoveCommand.java         |   4 +-
 .../hg/command/remove/HgRemoveConsumer.java        |  12 +-
 .../hg/command/status/HgStatusCommand.java         |   4 +-
 .../hg/command/status/HgStatusConsumer.java        |  16 +-
 .../scm/provider/hg/command/tag/HgTagCommand.java  |  14 +-
 .../scm/provider/hg/command/tag/HgTagConsumer.java |   6 -
 .../hg/command/update/HgUpdateCommand.java         |  21 +-
 .../hg/repository/HgScmProviderRepository.java     |  12 +-
 .../maven-scm-provider-local/pom.xml               |   4 +
 .../maven/scm/provider/local/LocalScmProvider.java |  18 --
 .../command/changelog/LocalChangeLogCommand.java   |   6 +-
 .../local/command/checkin/LocalCheckInCommand.java |  19 +-
 .../command/checkout/LocalCheckOutCommand.java     |  12 +-
 .../local/command/list/LocalListCommand.java       |  14 +-
 .../local/command/mkdir/LocalMkdirCommand.java     |  11 +-
 .../local/command/status/LocalStatusCommand.java   |   3 +-
 .../local/command/tag/LocalTagCommand.java         |   5 +-
 .../local/command/update/LocalUpdateCommand.java   |   9 +-
 .../local/metadata/LocalScmMetadataUtils.java      |  18 +-
 .../maven-scm-provider-git-commons/pom.xml         |   4 +
 .../scm/provider/git/AbstractGitScmProvider.java   |   6 +-
 .../scm/provider/git/GitConfigFileReader.java      |  23 +--
 .../provider/git/command/diff/GitDiffConsumer.java |   5 +-
 .../git/command/diff/GitDiffConsumerTest.java      |   7 +-
 .../maven-scm-provider-gitexe/pom.xml              |   4 +
 .../command/AbstractFileCheckingConsumer.java      |   4 +-
 .../git/gitexe/command/GitCommandLineUtils.java    |  21 +-
 .../git/gitexe/command/add/GitAddCommand.java      |  14 +-
 .../git/gitexe/command/blame/GitBlameCommand.java  |   4 +-
 .../git/gitexe/command/blame/GitBlameConsumer.java |  14 +-
 .../gitexe/command/branch/GitBranchCommand.java    |  15 +-
 .../command/branch/GitCurrentBranchConsumer.java   |   9 -
 .../command/changelog/GitChangeLogCommand.java     |   4 +-
 .../command/changelog/GitChangeLogConsumer.java    |   9 +-
 .../gitexe/command/checkin/GitCheckInCommand.java  |  27 ++-
 .../command/checkout/GitCheckOutCommand.java       |  12 +-
 .../git/gitexe/command/diff/GitDiffCommand.java    |   6 +-
 .../gitexe/command/diff/GitDiffRawConsumer.java    |  10 -
 .../git/gitexe/command/info/GitInfoCommand.java    |   4 +-
 .../git/gitexe/command/info/GitInfoConsumer.java   |  13 +-
 .../git/gitexe/command/list/GitListConsumer.java   |   8 +-
 .../command/remoteinfo/GitRemoteInfoCommand.java   |   6 +-
 .../command/remoteinfo/GitRemoteInfoConsumer.java  |   6 +-
 .../gitexe/command/remove/GitRemoveCommand.java    |   4 +-
 .../gitexe/command/remove/GitRemoveConsumer.java   |  10 -
 .../gitexe/command/status/GitStatusCommand.java    |  22 +-
 .../gitexe/command/status/GitStatusConsumer.java   |  22 +-
 .../git/gitexe/command/tag/GitTagCommand.java      |   8 +-
 .../git/gitexe/command/untag/GitUntagCommand.java  |   4 +-
 .../update/GitLatestRevisionCommandConsumer.java   |  10 +-
 .../gitexe/command/update/GitUpdateCommand.java    |  19 +-
 .../gitexe/command/blame/GitBlameConsumerTest.java |   3 +-
 .../changelog/GitChangeLogConsumerTest.java        |   5 +-
 .../command/diff/GitDiffRawConsumerTest.java       |   3 +-
 .../remoteinfo/GitRemoteInfoConsumerTest.java      |   3 +-
 .../command/remove/GitRemoveConsumerTest.java      |   8 +-
 .../command/status/GitStatusConsumerTest.java      |   9 +-
 .../GitLatestRevisionCommandConsumerTest.java      |   3 +-
 .../maven-scm-provider-jgit/pom.xml                |   4 +
 .../jgit/command/JGitTransportConfigCallback.java  |   4 +-
 .../scm/provider/git/jgit/command/JGitUtils.java   |  30 +--
 .../git/jgit/command/add/JGitAddCommand.java       |   4 +-
 .../git/jgit/command/branch/JGitBranchCommand.java |  14 +-
 .../command/changelog/JGitChangeLogCommand.java    |   4 +-
 .../jgit/command/checkin/JGitCheckInCommand.java   |  16 +-
 .../jgit/command/checkout/JGitCheckOutCommand.java |  28 +--
 .../git/jgit/command/diff/JGitDiffCommand.java     |   2 +-
 .../git/jgit/command/list/JGitListCommand.java     |   8 +-
 .../command/remoteinfo/JGitRemoteInfoCommand.java  |   6 +-
 .../git/jgit/command/status/JGitStatusCommand.java |   2 +-
 .../git/jgit/command/tag/JGitTagCommand.java       |   6 +-
 .../git/jgit/command/untag/JGitUntagCommand.java   |   6 +-
 .../maven-scm-provider-svn-commons/pom.xml         |   4 +
 .../scm/provider/svn/AbstractSvnScmProvider.java   |  14 +-
 .../provider/svn/command/diff/SvnDiffConsumer.java |   9 +-
 .../maven-scm-provider-svnexe/pom.xml              |   9 +-
 .../scm/provider/svn/svnexe/SvnExeScmProvider.java |   2 +-
 .../command/AbstractFileCheckingConsumer.java      |   4 +-
 .../svn/svnexe/command/SvnCommandLineUtils.java    |  44 ++--
 .../svn/svnexe/command/add/SvnAddCommand.java      |  10 +-
 .../svn/svnexe/command/add/SvnAddConsumer.java     |  10 -
 .../svn/svnexe/command/blame/SvnBlameCommand.java  |  10 +-
 .../svn/svnexe/command/blame/SvnBlameConsumer.java |  15 +-
 .../svnexe/command/branch/SvnBranchCommand.java    |  10 +-
 .../command/changelog/SvnChangeLogCommand.java     |  10 +-
 .../command/changelog/SvnChangeLogConsumer.java    |  15 +-
 .../svnexe/command/checkin/SvnCheckInCommand.java  |  10 +-
 .../svnexe/command/checkin/SvnCheckInConsumer.java |   5 +-
 .../command/checkout/SvnCheckOutCommand.java       |  10 +-
 .../command/checkout/SvnCheckOutConsumer.java      |   9 +-
 .../svn/svnexe/command/diff/SvnDiffCommand.java    |  10 +-
 .../svnexe/command/export/SvnExeExportCommand.java |  10 +-
 .../svn/svnexe/command/info/SvnInfoCommand.java    |  10 +-
 .../svn/svnexe/command/info/SvnInfoConsumer.java   |   6 -
 .../svn/svnexe/command/list/SvnListCommand.java    |  10 +-
 .../svn/svnexe/command/list/SvnListConsumer.java   |   6 -
 .../svn/svnexe/command/mkdir/SvnMkdirCommand.java  |  10 +-
 .../svn/svnexe/command/mkdir/SvnMkdirConsumer.java |  10 +-
 .../command/remoteinfo/SvnRemoteInfoCommand.java   |  22 +-
 .../svnexe/command/remove/SvnRemoveCommand.java    |  10 +-
 .../svnexe/command/remove/SvnRemoveConsumer.java   |  10 -
 .../svnexe/command/status/SvnStatusCommand.java    |  10 +-
 .../svnexe/command/status/SvnStatusConsumer.java   |   4 +-
 .../svn/svnexe/command/tag/SvnTagCommand.java      |  14 +-
 .../svn/svnexe/command/untag/SvnUntagCommand.java  |   8 +-
 .../svnexe/command/update/SvnUpdateCommand.java    |  20 +-
 .../svnexe/command/update/SvnUpdateConsumer.java   |   7 +-
 .../provider/svn/svnexe/SvnExeScmProviderTest.java |  10 +-
 .../changelog/SvnChangeLogConsumerTest.java        |   5 +-
 .../command/checkout/SvnCheckOutConsumerTest.java  |   3 +-
 .../apache/maven/scm/provider/ScmProviderStub.java |  11 -
 147 files changed, 579 insertions(+), 1697 deletions(-)

diff --git a/maven-scm-api/pom.xml b/maven-scm-api/pom.xml
index 94d1997c8..301aaabf9 100644
--- a/maven-scm-api/pom.xml
+++ b/maven-scm-api/pom.xml
@@ -47,5 +47,10 @@
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
index 4673e0df9..5dbceea3c 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/AbstractCommand.java
@@ -23,9 +23,9 @@ 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.log.ScmLogger;
-import org.apache.maven.scm.log.Slf4jScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
@@ -35,7 +35,7 @@ import org.apache.maven.scm.provider.ScmProviderRepository;
 public abstract class AbstractCommand
     implements Command
 {
-    private ScmLogger logger = new Slf4jScmLogger( getClass() );
+    protected Logger logger = LoggerFactory.getLogger( getClass() );
 
     protected abstract ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                  CommandParameters parameters )
@@ -64,16 +64,4 @@ public abstract class AbstractCommand
             throw new ScmException( "Exception while executing SCM command.", ex );
         }
     }
-
-    /** {@inheritDoc} */
-    public final ScmLogger getLogger()
-    {
-        return logger;
-    }
-
-    /** {@inheritDoc} */
-    public final void setLogger( ScmLogger logger )
-    {
-        this.logger = logger;
-    }
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
index ac66ddbb1..47cd10477 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/Command.java
@@ -23,7 +23,6 @@ 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.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 
 /**
@@ -45,14 +44,4 @@ public interface Command
      */
     ScmResult execute( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException;
-
-    /**
-     * @param logger not null
-     */
-    void setLogger( ScmLogger logger );
-
-    /**
-     * @return the current logger
-     */
-    ScmLogger getLogger();
 }
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java
deleted file mode 100644
index bb81edaf2..000000000
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/DefaultLog.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package org.apache.maven.scm.log;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- */
-@Deprecated
-public class DefaultLog
-    implements ScmLogger
-{
-
-    private boolean debug = false;
-
-    public DefaultLog()
-    {
-        // no op
-    }
-
-    public DefaultLog( boolean debug )
-    {
-        this.debug = debug;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isDebugEnabled()
-    {
-        return this.debug;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void debug( String content )
-    {
-        if ( this.debug )
-        {
-            System.out.println( content );
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void debug( String content, Throwable error )
-    {
-        if ( this.debug )
-        {
-            System.out.println( content );
-            error.printStackTrace();
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void debug( Throwable error )
-    {
-        if ( this.debug )
-        {
-            error.printStackTrace();
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isInfoEnabled()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void info( String content )
-    {
-        System.out.println( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void info( String content, Throwable error )
-    {
-        System.out.println( content );
-        error.printStackTrace();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void info( Throwable error )
-    {
-        error.printStackTrace();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isWarnEnabled()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void warn( String content )
-    {
-        System.out.println( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void warn( String content, Throwable error )
-    {
-        System.out.println( content );
-        error.printStackTrace();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void warn( Throwable error )
-    {
-        error.printStackTrace();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public boolean isErrorEnabled()
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void error( String content )
-    {
-        System.out.print( "[ERROR] " + content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void error( String content, Throwable error )
-    {
-        System.out.println( "[ERROR] " + content );
-        error.printStackTrace();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public void error( Throwable error )
-    {
-        error.printStackTrace();
-    }
-}
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java
deleted file mode 100644
index fba4fa46e..000000000
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogDispatcher.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.apache.maven.scm.log;
-
-/*
- * 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.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-/**
- * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- *
- */
-@Deprecated
-public class ScmLogDispatcher
-    implements ScmLogger
-{
-    private final List<ScmLogger> listeners = new CopyOnWriteArrayList<>();
-
-    public void addListener( ScmLogger logger )
-    {
-        listeners.add( logger );
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void debug( String content, Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.debug( content, error );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void debug( String content )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.debug( content );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void debug( Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.debug( error );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void error( String content, Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.error( content, error );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void error( String content )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.error( content );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void error( Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.error( error );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void info( String content, Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isInfoEnabled() )
-            {
-                logger.info( content, error );
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void info( String content )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isInfoEnabled() )
-            {
-                logger.info( content );
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void info( Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isInfoEnabled() )
-            {
-                logger.info( error );
-            }
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean isDebugEnabled()
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isDebugEnabled() )
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean isErrorEnabled()
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isErrorEnabled() )
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean isInfoEnabled()
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isInfoEnabled() )
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public boolean isWarnEnabled()
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            if ( logger.isWarnEnabled() )
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void warn( String content, Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.warn( content, error );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void warn( String content )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.warn( content );
-        }
-    }
-
-    /** {@inheritDoc} */
-    @Override
-    public void warn( Throwable error )
-    {
-        for ( ScmLogger logger : listeners )
-        {
-            logger.warn( error );
-        }
-    }
-}
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogger.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogger.java
deleted file mode 100644
index 9801fbe06..000000000
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/ScmLogger.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.maven.scm.log;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- *
- */
-@Deprecated
-public interface ScmLogger
-{
-    boolean isDebugEnabled();
-
-    void debug( String content );
-
-    void debug( String content, Throwable error );
-
-    void debug( Throwable error );
-
-    boolean isInfoEnabled();
-
-    void info( String content );
-
-    void info( String content, Throwable error );
-
-    void info( Throwable error );
-
-    boolean isWarnEnabled();
-
-    void warn( String content );
-
-    void warn( String content, Throwable error );
-
-    void warn( Throwable error );
-
-    boolean isErrorEnabled();
-
-    void error( String content );
-
-    void error( String content, Throwable error );
-
-    void error( Throwable error );
-}
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/log/Slf4jScmLogger.java b/maven-scm-api/src/main/java/org/apache/maven/scm/log/Slf4jScmLogger.java
deleted file mode 100644
index 4fd8ae33a..000000000
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/log/Slf4jScmLogger.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.maven.scm.log;
-
-/*
- * 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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static java.util.Objects.requireNonNull;
-
-/**
- * {@link ScmLogger} backed by SLF4J.
- *
- * @since 2.0.0-M2
- */
-public class Slf4jScmLogger
-        implements ScmLogger
-{
-    private final Logger logger;
-
-    public Slf4jScmLogger( final Class<?> owner )
-    {
-        this( LoggerFactory.getLogger( requireNonNull( owner ) ) );
-    }
-
-    public Slf4jScmLogger( final Logger logger )
-    {
-        this.logger = requireNonNull( logger );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isDebugEnabled()
-    {
-        return this.logger.isDebugEnabled();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void debug( String content )
-    {
-        this.logger.debug( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void debug( String content, Throwable error )
-    {
-        this.logger.debug( content, error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void debug( Throwable error )
-    {
-        this.logger.debug( "", error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isInfoEnabled()
-    {
-        return this.logger.isInfoEnabled();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void info( String content )
-    {
-        this.logger.info( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void info( String content, Throwable error )
-    {
-        this.logger.info( content, error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void info( Throwable error )
-    {
-        this.logger.info( "", error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isWarnEnabled()
-    {
-        return this.logger.isWarnEnabled();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void warn( String content )
-    {
-        this.logger.warn( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void warn( String content, Throwable error )
-    {
-        this.logger.warn( content, error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void warn( Throwable error )
-    {
-        this.logger.warn( "", error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public boolean isErrorEnabled()
-    {
-        return this.logger.isErrorEnabled();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void error( String content )
-    {
-        this.logger.error( content );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void error( String content, Throwable error )
-    {
-        this.logger.error( content, error );
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void error( Throwable error )
-    {
-        this.logger.error( "", error );
-    }
-}
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
index 67783ff1e..343dce5ee 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/manager/AbstractScmManager.java
@@ -50,14 +50,13 @@ import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.unedit.UnEditScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
-import org.apache.maven.scm.log.ScmLogger;
-import org.apache.maven.scm.log.Slf4jScmLogger;
 import org.apache.maven.scm.provider.ScmProvider;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.ScmUrlUtils;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
+import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static java.util.Objects.requireNonNull;
@@ -70,7 +69,7 @@ import static java.util.Objects.requireNonNull;
 public abstract class AbstractScmManager
         implements ScmManager
 {
-    private final ScmLogger logger = new Slf4jScmLogger( LoggerFactory.getLogger( getClass() ) );
+    protected final Logger logger = LoggerFactory.getLogger( getClass() );
 
     private final Map<String, ScmProvider> scmProviders = new ConcurrentHashMap<>();
 
@@ -106,15 +105,9 @@ public abstract class AbstractScmManager
     {
         requireNonNull( providerType );
         requireNonNull( provider );
-        provider.addListener( logger );
         scmProviders.put( providerType, provider );
     }
 
-    protected ScmLogger getScmLogger()
-    {
-        return logger;
-    }
-
     // ----------------------------------------------------------------------
     // ScmManager Implementation
     // ----------------------------------------------------------------------
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
index fffcad4ee..102f9f998 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java
@@ -51,12 +51,12 @@ import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.unedit.UnEditScmResult;
 import org.apache.maven.scm.command.untag.UntagScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
-import org.apache.maven.scm.log.ScmLogDispatcher;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
 import org.codehaus.plexus.util.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -72,7 +72,7 @@ import java.util.List;
 public abstract class AbstractScmProvider
     implements ScmProvider
 {
-    private final ScmLogDispatcher logDispatcher = new ScmLogDispatcher();
+    protected final Logger logger = LoggerFactory.getLogger( getClass() );
 
     // ----------------------------------------------------------------------
     //
@@ -629,9 +629,9 @@ public abstract class AbstractScmProvider
     protected EditScmResult edit( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
         throws ScmException
     {
-        if ( getLogger().isWarnEnabled() )
+        if ( logger.isWarnEnabled() )
         {
-            getLogger().warn( "Provider " + this.getScmType() + " does not support edit operation." );
+            logger.warn( "Provider " + this.getScmType() + " does not support edit operation." );
         }
 
         return new EditScmResult( "", null, null, true );
@@ -786,7 +786,7 @@ public abstract class AbstractScmProvider
             message = "";
             if ( !createInLocal )
             {
-                getLogger().warn( "Commit message is empty!" );
+                logger.warn( "Commit message is empty!" );
             }
         }
 
@@ -951,9 +951,9 @@ public abstract class AbstractScmProvider
                                       CommandParameters parameters )
         throws ScmException
     {
-        if ( getLogger().isWarnEnabled() )
+        if ( logger.isWarnEnabled() )
         {
-            getLogger().warn( "Provider " + this.getScmType() + " does not support unedit operation." );
+            logger.warn( "Provider " + this.getScmType() + " does not support unedit operation." );
         }
 
         return new UnEditScmResult( "", null, null, true );
@@ -967,7 +967,7 @@ public abstract class AbstractScmProvider
         CommandParameters parameters )
         throws ScmException
     {
-        getLogger().warn( "Provider " + this.getScmType() + " does not support untag operation." );
+        logger.warn( "Provider " + this.getScmType() + " does not support untag operation." );
         return new UntagScmResult( "", null, null, true );
     }
 
@@ -1218,24 +1218,6 @@ public abstract class AbstractScmProvider
         return null;
     }
 
-    // ----------------------------------------------------------------------
-    //
-    // ----------------------------------------------------------------------
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void addListener( ScmLogger logger )
-    {
-        logDispatcher.addListener( logger );
-    }
-
-    public ScmLogger getLogger()
-    {
-        return logDispatcher;
-    }
-
     /**
      * {@inheritDoc}
      */
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
index 219e2f115..af247e2e5 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java
@@ -47,7 +47,6 @@ import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.unedit.UnEditScmResult;
 import org.apache.maven.scm.command.untag.UntagScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
@@ -64,13 +63,6 @@ public interface ScmProvider
 {
     String getScmType();
 
-    /**
-     * Add a logger listener.
-     *
-     * @param logger The logger
-     */
-    void addListener( ScmLogger logger );
-
     boolean requiresEditMode();
 
     ScmProviderRepository makeProviderScmRepository( String scmSpecificUrl, char delimiter )
diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java b/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java
index 144ff5b87..bfb954979 100644
--- a/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java
+++ b/maven-scm-api/src/main/java/org/apache/maven/scm/util/AbstractConsumer.java
@@ -19,9 +19,10 @@ package org.apache.maven.scm.util;
  * under the License.
  */
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.cli.StreamConsumer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -29,8 +30,6 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.Locale;
 
-import static java.util.Objects.requireNonNull;
-
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  *
@@ -38,22 +37,7 @@ import static java.util.Objects.requireNonNull;
 public abstract class AbstractConsumer
     implements StreamConsumer
 {
-    protected final ScmLogger logger;
-
-    /**
-     * AbstractConsumer constructor.
-     *
-     * @param logger The logger to use in the consumer
-     */
-    public AbstractConsumer( ScmLogger logger )
-    {
-        this.logger = requireNonNull( logger );
-    }
-
-    public ScmLogger getLogger()
-    {
-        return logger;
-    }
+    protected final Logger logger = LoggerFactory.getLogger( getClass() );
 
     /**
      * Converts the date timestamp from the output into a date object.
@@ -129,9 +113,9 @@ public abstract class AbstractConsumer
         }
         catch ( ParseException e )
         {
-            if ( getLogger() != null && getLogger().isWarnEnabled() )
+            if ( logger.isWarnEnabled() )
             {
-                getLogger().warn(
+                logger.warn(
                                    "skip ParseException: " + e.getMessage() + " during parsing date '" + date
                                        + "' with pattern '" + patternUsed + "' and locale '"
                                        + localeUsed + "'", e );
diff --git a/maven-scm-managers/maven-scm-manager-plexus/pom.xml b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
index c8f5142f2..016018c63 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/pom.xml
+++ b/maven-scm-managers/maven-scm-manager-plexus/pom.xml
@@ -42,6 +42,10 @@
       <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
index ff9e079ec..aa462b073 100644
--- a/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
+++ b/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java
@@ -47,7 +47,7 @@ public class DefaultScmManager
         requireNonNull( scmProviders );
         if ( scmProviders.isEmpty() )
         {
-            getScmLogger().warn( "No SCM providers configured." );
+            logger.warn( "No SCM providers configured." );
         }
 
         setScmProviders( scmProviders );
diff --git a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java b/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java
deleted file mode 100644
index bcae56050..000000000
--- a/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DefaultLog.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.apache.maven.scm.plugin;
-
-/*
- * 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.logging.Log;
-import org.apache.maven.scm.log.ScmLogger;
-
-/**
- * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- */
-public class DefaultLog
-    implements ScmLogger
-{
-    private Log logger;
-
-    public DefaultLog( Log logger )
-    {
-        this.logger = logger;
-    }
-
-    /** {@inheritDoc} */
-    public boolean isDebugEnabled()
-    {
-        return logger.isDebugEnabled();
-    }
-
-    /** {@inheritDoc} */
-    public void debug( String content )
-    {
-        logger.debug( content );
-    }
-
-    /** {@inheritDoc} */
-    public void debug( String content, Throwable error )
-    {
-        logger.debug( content, error );
-    }
-
-    /** {@inheritDoc} */
-    public void debug( Throwable error )
-    {
-        logger.debug( error );
-    }
-
-    /** {@inheritDoc} */
-    public boolean isInfoEnabled()
-    {
-        return logger.isInfoEnabled();
-    }
-
-    /** {@inheritDoc} */
-    public void info( String content )
-    {
-        logger.info( content );
-    }
-
-    /** {@inheritDoc} */
-    public void info( String content, Throwable error )
-    {
-        logger.info( content, error );
-    }
-
-    /** {@inheritDoc} */
-    public void info( Throwable error )
-    {
-        logger.info( error );
-    }
-
-    /** {@inheritDoc} */
-    public boolean isWarnEnabled()
-    {
-        return logger.isWarnEnabled();
-    }
-
-    /** {@inheritDoc} */
-    public void warn( String content )
-    {
-        logger.warn( content );
-    }
-
-    /** {@inheritDoc} */
-    public void warn( String content, Throwable error )
-    {
-        logger.warn( content, error );
-    }
-
-    /** {@inheritDoc} */
-    public void warn( Throwable error )
-    {
-        logger.warn( error );
-    }
-
-    /** {@inheritDoc} */
-    public boolean isErrorEnabled()
-    {
-        return logger.isErrorEnabled();
-    }
-
-    /** {@inheritDoc} */
-    public void error( String content )
-    {
-        logger.error( content );
-    }
-
-    /** {@inheritDoc} */
-    public void error( String content, Throwable error )
-    {
-        logger.error( content, error );
-    }
-
-    /** {@inheritDoc} */
-    public void error( Throwable error )
-    {
-        logger.error( error );
-    }
-}
diff --git a/maven-scm-providers/maven-scm-provider-hg/pom.xml b/maven-scm-providers/maven-scm-provider-hg/pom.xml
index e8f6270e8..20fb094fb 100644
--- a/maven-scm-providers/maven-scm-provider-hg/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-hg/pom.xml
@@ -57,6 +57,10 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
 
     <dependency>
       <groupId>junit</groupId>
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
index 665b54e67..c715fbe3c 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgConfig.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg;
 
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.DefaultLog;
 import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -147,7 +146,6 @@ public class HgConfig
 
         HgVersionConsumer( String versionTag )
         {
-            super( new DefaultLog() );
             this.versionTag = versionTag;
         }
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
index 5d0790475..a10ca74a5 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgScmProvider.java
@@ -199,8 +199,6 @@ public class HgScmProvider
     {
         HgAddCommand command = new HgAddCommand();
 
-        command.setLogger( getLogger() );
-
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -211,8 +209,6 @@ public class HgScmProvider
     {
         HgChangeLogCommand command = new HgChangeLogCommand();
 
-        command.setLogger( getLogger() );
-
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -223,8 +219,6 @@ public class HgScmProvider
     {
         HgCheckInCommand command = new HgCheckInCommand();
 
-        command.setLogger( getLogger() );
-
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -235,8 +229,6 @@ public class HgScmProvider
     {
         HgCheckOutCommand command = new HgCheckOutCommand();
 
-        command.setLogger( getLogger() );
-
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -246,8 +238,6 @@ public class HgScmProvider
     {
         HgTagCommand command = new HgTagCommand();
 
-        command.setLogger( getLogger() );
-
         return (TagScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -257,8 +247,6 @@ public class HgScmProvider
     {
         HgDiffCommand command = new HgDiffCommand();
 
-        command.setLogger( getLogger() );
-
         return (DiffScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -269,8 +257,6 @@ public class HgScmProvider
     {
         HgRemoveCommand command = new HgRemoveCommand();
 
-        command.setLogger( getLogger() );
-
         return (RemoveScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -281,8 +267,6 @@ public class HgScmProvider
     {
         HgStatusCommand command = new HgStatusCommand();
 
-        command.setLogger( getLogger() );
-
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -293,8 +277,6 @@ public class HgScmProvider
     {
         HgUpdateCommand command = new HgUpdateCommand();
 
-        command.setLogger( getLogger() );
-
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -305,8 +287,6 @@ public class HgScmProvider
     {
         HgBlameCommand command = new HgBlameCommand();
 
-        command.setLogger( getLogger() );
-
         return (BlameScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -316,8 +296,6 @@ public class HgScmProvider
     {
         HgBranchCommand command = new HgBranchCommand();
 
-        command.setLogger( getLogger() );
-
         return (BranchScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -329,7 +307,7 @@ public class HgScmProvider
         throws ScmException
     {
         HgListCommand hgListCommand = new HgListCommand();
-        hgListCommand.setLogger( getLogger() );
+
         return (ListScmResult) hgListCommand.executeCommand( repository, fileSet, parameters );
 
     }
@@ -344,7 +322,7 @@ public class HgScmProvider
         throws ScmException
     {
         HgInfoCommand infoCommand = new HgInfoCommand();
-        infoCommand.setLogger( getLogger() );
+
         return (InfoScmResult) infoCommand.execute( repository, fileSet, parameters );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
index c787d8f8f..0694c15da 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
@@ -23,8 +23,6 @@ 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.log.DefaultLog;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgCommandConstants;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 import org.apache.maven.scm.provider.hg.command.inventory.HgChangeSet;
@@ -32,6 +30,8 @@ import org.apache.maven.scm.provider.hg.command.inventory.HgOutgoingConsumer;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -47,6 +47,7 @@ import java.util.Map;
  */
 public final class HgUtils
 {
+    private static final Logger LOGGER = LoggerFactory.getLogger( HgUtils.class );
 
     public static final String DEFAULT = "default";
 
@@ -83,16 +84,16 @@ public final class HgUtils
         EXIT_CODE_MAP.put( HgCommandConstants.OUTGOING_CMD, outgoingExitCodes );
     }
 
-    public static ScmResult execute( HgConsumer consumer, ScmLogger logger, File workingDir, String[] cmdAndArgs )
+    public static ScmResult execute( HgConsumer consumer, File workingDir, String[] cmdAndArgs )
         throws ScmException
     {
         try
         {
             //Build commandline
             Commandline cmd = buildCmd( workingDir, cmdAndArgs );
-            if ( logger.isInfoEnabled() )
+            if ( LOGGER.isInfoEnabled() )
             {
-                logger.info( "EXECUTING: " + maskPassword( cmd ) );
+                LOGGER.info( "EXECUTING: " + maskPassword( cmd ) );
             }
 
             //Execute command
@@ -115,9 +116,9 @@ public final class HgUtils
                     "\nEXECUTION FAILED" + "\n  Execution of cmd : " + cmdAndArgs[0] + " failed with exit code: "
                         + exitCode + "." + "\n  Working directory was: " + "\n    " + workingDir.getAbsolutePath()
                         + config.toString( workingDir ) + "\n";
-                if ( logger.isErrorEnabled() )
+                if ( LOGGER.isErrorEnabled() )
                 {
-                    logger.error( providerMsg );
+                    LOGGER.error( providerMsg );
                 }
             }
 
@@ -136,9 +137,9 @@ public final class HgUtils
             }
 
             //log and return
-            if ( logger.isErrorEnabled() )
+            if ( LOGGER.isErrorEnabled() )
             {
-                logger.error( msg );
+                LOGGER.error( msg );
             }
             throw se;
         }
@@ -185,8 +186,7 @@ public final class HgUtils
     public static ScmResult execute( File workingDir, String[] cmdAndArgs )
         throws ScmException
     {
-        ScmLogger logger = new DefaultLog();
-        return execute( new HgConsumer( logger ), logger, workingDir, cmdAndArgs );
+        return execute( new HgConsumer(), workingDir, cmdAndArgs );
     }
 
     public static String[] expandCommandLine( String[] cmdAndArgs, ScmFileSet additionalFiles )
@@ -209,23 +209,23 @@ public final class HgUtils
         return cmd;
     }
 
-    public static int getCurrentRevisionNumber( ScmLogger logger, File workingDir )
+    public static int getCurrentRevisionNumber( File workingDir )
         throws ScmException
     {
 
         String[] revCmd = new String[]{ HgCommandConstants.REVNO_CMD };
-        HgRevNoConsumer consumer = new HgRevNoConsumer( logger );
-        HgUtils.execute( consumer, logger, workingDir, revCmd );
+        HgRevNoConsumer consumer = new HgRevNoConsumer();
+        HgUtils.execute( consumer, workingDir, revCmd );
 
         return consumer.getCurrentRevisionNumber();
     }
 
-    public static String getCurrentBranchName( ScmLogger logger, File workingDir )
+    public static String getCurrentBranchName( File workingDir )
         throws ScmException
     {
         String[] branchnameCmd = new String[]{ HgCommandConstants.BRANCH_NAME_CMD };
-        HgBranchnameConsumer consumer = new HgBranchnameConsumer( logger );
-        HgUtils.execute( consumer, logger, workingDir, branchnameCmd );
+        HgBranchnameConsumer consumer = new HgBranchnameConsumer();
+        HgUtils.execute( consumer, workingDir, branchnameCmd );
         return consumer.getBranchName();
     }
 
@@ -240,11 +240,6 @@ public final class HgUtils
 
         private int revNo;
 
-        HgRevNoConsumer( ScmLogger logger )
-        {
-            super( logger );
-        }
-
         public void doConsume( ScmFileStatus status, String line )
         {
             try
@@ -272,11 +267,6 @@ public final class HgUtils
 
         private String branchName;
 
-        HgBranchnameConsumer( ScmLogger logger )
-        {
-            super( logger );
-        }
-
         public void doConsume( ScmFileStatus status, String trimmedLine )
         {
             branchName = String.valueOf( trimmedLine );
@@ -290,9 +280,9 @@ public final class HgUtils
         /** {@inheritDoc} */
         public void consumeLine( String line )
         {
-            if ( getLogger().isDebugEnabled() )
+            if ( logger.isDebugEnabled() )
             {
-                getLogger().debug( line );
+                logger.debug( line );
             }
             String trimmedLine = line.trim();
 
@@ -309,18 +299,17 @@ public final class HgUtils
      * Method users should not stop the push on a negative return, instead, they should
      * hg push -r(branch being released)
      *
-     * @param logger            the logger31
      * @param workingDir        the working dir
      * @param workingbranchName the working branch name
      * @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( File workingDir, String workingbranchName )
         throws ScmException
     {
         String[] outCmd = new String[]{ HgCommandConstants.OUTGOING_CMD };
-        HgOutgoingConsumer outConsumer = new HgOutgoingConsumer( logger );
-        ScmResult outResult = HgUtils.execute( outConsumer, logger, workingDir, outCmd );
+        HgOutgoingConsumer outConsumer = new HgOutgoingConsumer();
+        ScmResult outResult = HgUtils.execute( outConsumer, workingDir, outCmd );
         List<HgChangeSet> changes = outConsumer.getChanges();
         if ( outResult.isSuccess() )
         {
@@ -328,7 +317,7 @@ public final class HgUtils
             {
                 if ( !getBranchName( workingbranchName ).equals( getBranchName( set.getBranch() ) ) )
                 {
-                    logger.warn( "A different branch than " + getBranchName( workingbranchName )
+                    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;
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
index 20886cc57..0523b0a28 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/HgConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.hg.command;
  */
 
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -45,12 +44,12 @@ public class HgConsumer
     /**
      * A list of known keywords from hg
      */
-    private static final Map<String, ScmFileStatus> IDENTIFIERS = new HashMap<String, ScmFileStatus>();
+    private static final Map<String, ScmFileStatus> IDENTIFIERS = new HashMap<>();
 
     /**
      * A list of known message prefixes from hg
      */
-    private static final Map<String, String> MESSAGES = new HashMap<String, String>();
+    private static final Map<String, String> MESSAGES = new HashMap<>();
 
     /**
      * Number of lines to keep from Std.Err
@@ -62,11 +61,11 @@ public class HgConsumer
     /**
      * A list of the MAX_STDERR_SIZE last errors or warnings.
      */
-    private final List<String> stderr = new ArrayList<String>();
+    private final List<String> stderr = new ArrayList<>();
 
     static
     {
-        /** Statuses from hg add
+        /* Statuses from hg add
          */
         IDENTIFIERS.put( "adding", ScmFileStatus.ADDED );
         IDENTIFIERS.put( "unknown", ScmFileStatus.UNKNOWN );
@@ -74,7 +73,7 @@ public class HgConsumer
         IDENTIFIERS.put( "removed", ScmFileStatus.DELETED );
         IDENTIFIERS.put( "renamed", ScmFileStatus.MODIFIED );
 
-        /** Statuses from hg status;
+        /* Statuses from hg status;
          */
         IDENTIFIERS.put( "A", ScmFileStatus.ADDED );
         IDENTIFIERS.put( "?", ScmFileStatus.UNKNOWN );
@@ -89,11 +88,6 @@ public class HgConsumer
         MESSAGES.put( "'hg' ", "ERROR" ); // hg isn't found in windows path
     }
 
-    public HgConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         //override this
@@ -102,9 +96,9 @@ public class HgConsumer
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( getLogger().isDebugEnabled() )
+        if ( logger.isDebugEnabled() )
         {
-            getLogger().debug( line );
+            logger.debug( line );
         }
         String trimmedLine = line.trim();
 
@@ -127,7 +121,7 @@ public class HgConsumer
             trimmedLine = trimmedLine.trim(); //one or more spaces
         }
 
-        ScmFileStatus status = statusStr != null ? ( (ScmFileStatus) IDENTIFIERS.get( statusStr.intern() ) ) : null;
+        ScmFileStatus status = statusStr != null ? ( IDENTIFIERS.get( statusStr.intern() ) ) : null;
         doConsume( status, trimmedLine );
     }
 
@@ -175,16 +169,16 @@ public class HgConsumer
                 String message = line.substring( prefix.length() );
                 if ( MESSAGES.get( prefix ).equals( "WARNING" ) )
                 {
-                    if ( getLogger().isWarnEnabled() )
+                    if ( logger.isWarnEnabled() )
                     {
-                        getLogger().warn( message );
+                        logger.warn( message );
                     }
                 }
                 else
                 {
-                    if ( getLogger().isErrorEnabled() )
+                    if ( logger.isErrorEnabled() )
                     {
-                        getLogger().error( message );
+                        logger.error( message );
                     }
                 }
                 return true;
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
index 2ccf94f16..764692db1 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddCommand.java
@@ -53,8 +53,8 @@ public class HgAddCommand
         addCmd = HgUtils.expandCommandLine( addCmd, fileSet );
 
         File workingDir = fileSet.getBasedir();
-        HgAddConsumer consumer = new HgAddConsumer( getLogger(), workingDir );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, addCmd );
+        HgAddConsumer consumer = new HgAddConsumer( workingDir );
+        ScmResult result = HgUtils.execute( consumer, workingDir, addCmd );
 
         AddScmResult addScmResult = new AddScmResult( consumer.getAddedFiles(), result );
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
index 61220105a..dca065491 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/add/HgAddConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.add;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.io.File;
@@ -39,9 +38,8 @@ public class HgAddConsumer
 
     private final List<ScmFile> addedFiles = new ArrayList<ScmFile>();
 
-    public HgAddConsumer( ScmLogger logger, File workingDir )
+    public HgAddConsumer( File workingDir )
     {
-        super( logger );
         this.workingDir = workingDir;
     }
 
@@ -54,17 +52,17 @@ public class HgAddConsumer
             File tmpFile = new File( workingDir, trimmedLine );
             if ( !tmpFile.exists() )
             {
-                if ( getLogger().isWarnEnabled() )
+                if ( logger.isWarnEnabled() )
                 {
-                    getLogger().warn( "Not a file: " + tmpFile + ". Ignored" );
+                    logger.warn( "Not a file: " + tmpFile + ". Ignored" );
                 }
             }
             else
             {
                 ScmFile scmFile = new ScmFile( trimmedLine, ScmFileStatus.ADDED );
-                if ( getLogger().isInfoEnabled() )
+                if ( logger.isInfoEnabled() )
                 {
-                    getLogger().info( scmFile.toString() );
+                    logger.info( scmFile.toString() );
                 }
                 addedFiles.add( scmFile );
             }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommand.java
index 5299bc34d..87b9c0818 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameCommand.java
@@ -48,8 +48,8 @@ public class HgBlameCommand
             "--date",   // list the date
             "--changeset", // list the global revision number
             filename };
-        HgBlameConsumer consumer = new HgBlameConsumer( getLogger() );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDirectory.getBasedir(), cmd );
+        HgBlameConsumer consumer = new HgBlameConsumer();
+        ScmResult result = HgUtils.execute( consumer, workingDirectory.getBasedir(), cmd );
         return new BlameScmResult( consumer.getLines(), result );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameConsumer.java
index fa99ea5d6..26ad8c615 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/blame/HgBlameConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.blame;
 
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.command.blame.BlameLine;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.util.ArrayList;
@@ -38,16 +37,10 @@ import java.util.Locale;
 public class HgBlameConsumer
     extends HgConsumer
 {
-    private List<BlameLine> lines = new ArrayList<BlameLine>();
+    private final List<BlameLine> lines = new ArrayList<>();
 
     private static final String HG_TIMESTAMP_PATTERN = "EEE MMM dd HH:mm:ss yyyy Z";
 
-    public HgBlameConsumer( ScmLogger logger )
-    {
-        super( logger );
-
-    }
-
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
         /* godin 0 Sun Jan 31 03:04:54 2010 +0300 */
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/branch/HgBranchCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/branch/HgBranchCommand.java
index b9113c6e6..fa1ce6814 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/branch/HgBranchCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/branch/HgBranchCommand.java
@@ -83,7 +83,7 @@ public class HgBranchCommand
         String[] branchCmd = new String[] { HgCommandConstants.BRANCH_CMD, branch };
 
         // keep the command about in string form for reporting
-        HgConsumer branchConsumer = new HgConsumer( getLogger() )
+        HgConsumer branchConsumer = new HgConsumer()
         {
             public void doConsume( ScmFileStatus status, String trimmedLine )
             {
@@ -91,7 +91,7 @@ public class HgBranchCommand
             }
         };
 
-        ScmResult result = HgUtils.execute( branchConsumer, getLogger(), workingDir, branchCmd );
+        ScmResult result = HgUtils.execute( branchConsumer, workingDir, branchCmd );
         HgScmProviderRepository repository = (HgScmProviderRepository) scmProviderRepository;
 
         if ( !result.isSuccess() )
@@ -104,7 +104,7 @@ public class HgBranchCommand
             new String[] { HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION,
                 scmBranchParameters.getMessage() };
 
-        result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), workingDir, commitCmd );
+        result = HgUtils.execute( new HgConsumer(), workingDir, commitCmd );
 
         if ( !result.isSuccess() )
         {
@@ -124,7 +124,7 @@ public class HgBranchCommand
                     repository.getURI()
                 };
 
-                result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
+                result = HgUtils.execute( new HgConsumer(), fileSet.getBasedir(), pushCmd );
 
                 if ( !result.isSuccess() )
                 {
@@ -135,9 +135,9 @@ public class HgBranchCommand
 
         // do an inventory to return the files branched (all of them)
         String[] listCmd = new String[]{ HgCommandConstants.INVENTORY_CMD };
-        HgListConsumer listconsumer = new HgListConsumer( getLogger() );
+        HgListConsumer listconsumer = new HgListConsumer();
 
-        result = HgUtils.execute( listconsumer, getLogger(), fileSet.getBasedir(), listCmd );
+        result = HgUtils.execute( listconsumer, fileSet.getBasedir(), listCmd );
 
         if ( !result.isSuccess() )
         {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
index a2ad3ac3d..c9bde199b 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogCommand.java
@@ -102,9 +102,9 @@ public class HgChangeLogCommand
             cmd.add( Integer.toString( limit ) );
         }
 
-        HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), datePattern );
+        HgChangeLogConsumer consumer = new HgChangeLogConsumer( datePattern );
         ScmResult result =
-            HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd.toArray( new String[cmd.size()] ) );
+            HgUtils.execute( consumer, fileSet.getBasedir(), cmd.toArray( new String[cmd.size()] ) );
 
         List<ChangeSet> logEntries = consumer.getModifications();
         ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate, endDate );
@@ -131,8 +131,8 @@ public class HgChangeLogCommand
         String[] cmd = new String[]{ HgCommandConstants.LOG_CMD, HgCommandConstants.TEMPLATE_OPTION,
             HgCommandConstants.TEMPLATE_FORMAT, HgCommandConstants.NO_MERGES_OPTION, HgCommandConstants.REVISION_OPTION,
             revisionInterval.toString() };
-        HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), datePattern );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd );
+        HgChangeLogConsumer consumer = new HgChangeLogConsumer( datePattern );
+        ScmResult result = HgUtils.execute( consumer, fileSet.getBasedir(), cmd );
 
         List<ChangeSet> logEntries = consumer.getModifications();
         Date startDate = null;
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
index 4431515fd..93bf4368b 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/changelog/HgChangeLogConsumer.java
@@ -27,7 +27,6 @@ import java.util.Locale;
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 /**
@@ -68,9 +67,8 @@ public class HgChangeLogConsumer
 
     private String userDatePattern;
 
-    public HgChangeLogConsumer( ScmLogger logger, String userDatePattern )
+    public HgChangeLogConsumer( String userDatePattern )
     {
-        super( logger );
         this.userDatePattern = userDatePattern;
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
index de323aa5f..28efb9936 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java
@@ -62,9 +62,9 @@ public class HgCheckInCommand
 
 
         File workingDir = fileSet.getBasedir();
-        String branchName = HgUtils.getCurrentBranchName( getLogger(), workingDir );
+        String branchName = HgUtils.getCurrentBranchName( workingDir );
         boolean differentOutgoingBranch =
-            repo.isPushChanges() ? HgUtils.differentOutgoingBranchFound( getLogger(), workingDir, branchName ) : false;
+            repo.isPushChanges() ? HgUtils.differentOutgoingBranchFound( workingDir, branchName ) : false;
 
         // Get files that will be committed (if not specified in fileSet)
         List<ScmFile> commitedFiles = new ArrayList<ScmFile>();
@@ -72,7 +72,6 @@ public class HgCheckInCommand
         if ( files.isEmpty() )
         { //Either commit all changes
             HgStatusCommand statusCmd = new HgStatusCommand();
-            statusCmd.setLogger( getLogger() );
             StatusScmResult status = statusCmd.executeStatusCommand( repo, fileSet );
             List<ScmFile> statusFiles = status.getChangedFiles();
             for ( ScmFile file : statusFiles )
@@ -97,7 +96,7 @@ public class HgCheckInCommand
         String[] commitCmd = new String[]{ HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION, message };
         commitCmd = HgUtils.expandCommandLine( commitCmd, fileSet );
         ScmResult result =
-            HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), commitCmd );
+            HgUtils.execute( new HgConsumer(), fileSet.getBasedir(), commitCmd );
 
         // Push to parent branch if any
         HgScmProviderRepository repository = (HgScmProviderRepository) repo;
@@ -111,7 +110,7 @@ public class HgCheckInCommand
                     differentOutgoingBranch ? HgCommandConstants.REVISION_OPTION + branchName : null,
                     repository.getURI() };
 
-                result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
+                result = HgUtils.execute( new HgConsumer( ), fileSet.getBasedir(), pushCmd );
             }
 
             return new CheckInScmResult( commitedFiles, result );
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
index 747a43da9..83048b8e0 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutCommand.java
@@ -61,9 +61,9 @@ public class HgCheckOutCommand
         File checkoutDir = fileSet.getBasedir();
         try
         {
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( "Removing " + checkoutDir );
+                logger.info( "Removing " + checkoutDir );
             }
             FileUtils.deleteDirectory( checkoutDir );
         }
@@ -94,13 +94,13 @@ public class HgCheckOutCommand
         cmdList.add( url );
         cmdList.add( checkoutDir.getAbsolutePath() );
         String[] checkoutCmd = cmdList.toArray( new String[0] );
-        HgConsumer checkoutConsumer = new HgConsumer( getLogger() );
-        HgUtils.execute( checkoutConsumer, getLogger(), checkoutDir.getParentFile(), checkoutCmd );
+        HgConsumer checkoutConsumer = new HgConsumer();
+        HgUtils.execute( checkoutConsumer, checkoutDir.getParentFile(), checkoutCmd );
 
         // Do inventory to find list of checkedout files
         String[] inventoryCmd = new String[]{ HgCommandConstants.INVENTORY_CMD };
-        HgCheckOutConsumer consumer = new HgCheckOutConsumer( getLogger(), checkoutDir );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), checkoutDir, inventoryCmd );
+        HgCheckOutConsumer consumer = new HgCheckOutConsumer( checkoutDir );
+        ScmResult result = HgUtils.execute( consumer, checkoutDir, inventoryCmd );
 
         return new CheckOutScmResult( consumer.getCheckedOutFiles(), result );
     }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
index 4254d85ed..fd02eb7fe 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkout/HgCheckOutConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.checkout;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.io.File;
@@ -41,9 +40,8 @@ public class HgCheckOutConsumer
 
     private List<ScmFile> checkedOut = new ArrayList<ScmFile>();
 
-    public HgCheckOutConsumer( ScmLogger logger, File workingDirectory )
+    public HgCheckOutConsumer( File workingDirectory )
     {
-        super( logger );
         this.workingDirectory = workingDirectory;
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
index 0aa916d43..a76dd519e 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffCommand.java
@@ -60,9 +60,9 @@ public class HgDiffCommand
         }
 
         diffCmd = HgUtils.expandCommandLine( diffCmd, fileSet );
-        HgDiffConsumer consumer = new HgDiffConsumer( getLogger(), fileSet.getBasedir() );
+        HgDiffConsumer consumer = new HgDiffConsumer( fileSet.getBasedir() );
 
-        ScmResult result = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), diffCmd );
+        ScmResult result = HgUtils.execute( consumer, fileSet.getBasedir(), diffCmd );
 
         return new DiffScmResult( consumer.getChangedFiles(), consumer.getDifferences(), consumer.getPatch(), result );
     }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
index dea8132ed..810960948 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/diff/HgDiffConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.diff;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.io.File;
@@ -61,26 +60,22 @@ public class HgDiffConsumer
 
     private static final int HASH_ID_LEN = 12;
 
-    private ScmLogger logger;
-
     private String currentFile;
 
     private StringBuilder currentDifference;
 
-    private List<ScmFile> changedFiles = new ArrayList<ScmFile>();
+    private final List<ScmFile> changedFiles = new ArrayList<>();
 
-    private Map<String, CharSequence> differences = new HashMap<String, CharSequence>();
+    private final Map<String, CharSequence> differences = new HashMap<>();
 
-    private StringBuilder patch = new StringBuilder();
+    private final StringBuilder patch = new StringBuilder();
 
     @SuppressWarnings( "unused" )
-    private File workingDirectory;
+    private final File workingDirectory;
 
 
-    public HgDiffConsumer( ScmLogger logger, File workingDirectory )
+    public HgDiffConsumer( File workingDirectory )
     {
-        super( logger );
-        this.logger = logger;
         this.workingDirectory = workingDirectory;
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoCommand.java
index 63c91255b..c7e8841a7 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoCommand.java
@@ -45,8 +45,8 @@ public class HgInfoCommand
         throws ScmException
     {
         String[] revCmd = new String[]{ HgCommandConstants.REVNO_CMD, "-i" };
-        HgInfoConsumer consumer = new HgInfoConsumer( getLogger() );
-        ScmResult scmResult = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), revCmd );
+        HgInfoConsumer consumer = new HgInfoConsumer();
+        ScmResult scmResult = HgUtils.execute( consumer, fileSet.getBasedir(), revCmd );
         return new InfoScmResult( consumer.getInfoItems(), scmResult );
     }
 
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoConsumer.java
index cad16434a..1820d2821 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/info/HgInfoConsumer.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.scm.command.info.InfoItem;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 /**
@@ -35,12 +34,7 @@ public class HgInfoConsumer
     extends HgConsumer
 {
     
-    private List<InfoItem> infoItems = new ArrayList<InfoItem>( 1 );
-    
-    public HgInfoConsumer( ScmLogger scmLogger )
-    {
-        super( scmLogger );
-    }    
+    private final List<InfoItem> infoItems = new ArrayList<>( 1 );
 
     /**
      * @see org.codehaus.plexus.util.cli.StreamConsumer#consumeLine(java.lang.String)
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java
index a5b5eff80..54d2de708 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListCommand.java
@@ -66,9 +66,9 @@ public class HgListCommand
             }
         }
 
-        HgListConsumer consumer = new HgListConsumer( getLogger() );
+        HgListConsumer consumer = new HgListConsumer();
 
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, listCmd );
+        ScmResult result = HgUtils.execute( consumer, workingDir, listCmd );
 
         if ( result.isSuccess() )
         {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java
index 76d3cdeff..8d9057351 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgListConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.hg.command.inventory;
  */
 
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmFile;
 
@@ -37,12 +36,7 @@ public class HgListConsumer
     extends HgConsumer
 {
 
-    private List<ScmFile> files = new ArrayList<ScmFile>();
-
-    public HgListConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
+    private final List<ScmFile> files = new ArrayList<>();
 
     /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java
index be1081441..78bfc93f8 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/inventory/HgOutgoingConsumer.java
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.hg.command.inventory;
  * under the License.
  */
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.util.List;
@@ -38,11 +37,6 @@ public class HgOutgoingConsumer
 
     private static final String BRANCH = "branch";
 
-    public HgOutgoingConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     public void consumeLine( String line )
     {
         String branch = null;
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
index 256453798..e7a4066b0 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveCommand.java
@@ -48,9 +48,9 @@ public class HgRemoveCommand
         command = HgUtils.expandCommandLine( command, fileSet );
 
         File workingDir = fileSet.getBasedir();
-        HgRemoveConsumer consumer = new HgRemoveConsumer( getLogger(), workingDir );
+        HgRemoveConsumer consumer = new HgRemoveConsumer( workingDir );
 
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, command );
+        ScmResult result = HgUtils.execute( consumer, workingDir, command );
         return new RemoveScmResult( consumer.getRemovedFiles(), result );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
index 132c3dfe5..c4cc800c8 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/remove/HgRemoveConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.remove;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.io.File;
@@ -40,9 +39,8 @@ public class HgRemoveConsumer
 
     private final List<ScmFile> removedFiles = new ArrayList<ScmFile>();
 
-    public HgRemoveConsumer( ScmLogger logger, File workingDir )
+    public HgRemoveConsumer( File workingDir )
     {
-        super( logger );
         this.workingDir = workingDir;
     }
 
@@ -55,17 +53,17 @@ public class HgRemoveConsumer
             File tmpFile = new File( workingDir, trimmedLine );
             if ( !tmpFile.exists() )
             {
-                if ( getLogger().isWarnEnabled() )
+                if ( logger.isWarnEnabled() )
                 {
-                    getLogger().warn( "Not a file: " + tmpFile + ". Ignored" );
+                    logger.warn( "Not a file: " + tmpFile + ". Ignored" );
                 }
             }
             else
             {
                 ScmFile scmFile = new ScmFile( trimmedLine, ScmFileStatus.DELETED );
-                if ( getLogger().isInfoEnabled() )
+                if ( logger.isInfoEnabled() )
                 {
-                    getLogger().info( scmFile.toString() );
+                    logger.info( scmFile.toString() );
                 }
                 removedFiles.add( scmFile );
             }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
index 999c32847..398a3f416 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusCommand.java
@@ -50,9 +50,9 @@ public class HgStatusCommand
     {
 
         File workingDir = fileSet.getBasedir();
-        HgStatusConsumer consumer = new HgStatusConsumer( getLogger(), workingDir );
+        HgStatusConsumer consumer = new HgStatusConsumer( workingDir );
         String[] statusCmd = new String[] { HgCommandConstants.STATUS_CMD };
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, statusCmd );
+        ScmResult result = HgUtils.execute( consumer, workingDir, statusCmd );
 
         return new StatusScmResult( consumer.getStatus(), result );
     }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
index ec6f2e7b3..d7ab07beb 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/status/HgStatusConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.hg.command.status;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 import java.io.File;
@@ -39,9 +38,8 @@ class HgStatusConsumer
 
     private final File workingDir;
 
-    HgStatusConsumer( ScmLogger logger, File workingDir )
+    HgStatusConsumer( File workingDir )
     {
-        super( logger );
         this.workingDir = workingDir;
     }
 
@@ -52,24 +50,24 @@ class HgStatusConsumer
         File tmpFile = new File( workingDir, trimmedLine );
         if ( !tmpFile.exists() )
         {
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( "Not a file: " + tmpFile + ". Ignoring" );
+                logger.info( "Not a file: " + tmpFile + ". Ignoring" );
             }
         }
         else if ( tmpFile.isDirectory() )
         {
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( "New directory added: " + tmpFile );
+                logger.info( "New directory added: " + tmpFile );
             }
         }
         else
         {
             ScmFile scmFile = new ScmFile( trimmedLine, status );
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( scmFile.toString() );
+                logger.info( scmFile.toString() );
             }
             repositoryStatus.add( scmFile );
         }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
index 45a872f61..b682499e6 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java
@@ -87,8 +87,8 @@ public class HgTagCommand
 
         // keep the command about in string form for reporting
         StringBuilder cmd = joinCmd( tagCmd );
-        HgTagConsumer consumer = new HgTagConsumer( getLogger() );
-        ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, tagCmd );
+        HgTagConsumer consumer = new HgTagConsumer();
+        ScmResult result = HgUtils.execute( consumer, workingDir, tagCmd );
         HgScmProviderRepository repository = (HgScmProviderRepository) scmProviderRepository;
         if ( result.isSuccess() )
         {
@@ -99,16 +99,16 @@ public class HgTagCommand
             {
                 if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) )
                 {
-                    String branchName = HgUtils.getCurrentBranchName( getLogger(), workingDir );
+                    String branchName = HgUtils.getCurrentBranchName( workingDir );
                     boolean differentOutgoingBranch =
-                        HgUtils.differentOutgoingBranchFound( getLogger(), workingDir, branchName );
+                        HgUtils.differentOutgoingBranchFound( workingDir, branchName );
 
                     String[] pushCmd = new String[]{ HgCommandConstants.PUSH_CMD,
                         differentOutgoingBranch ? HgCommandConstants.REVISION_OPTION + branchName : null,
                         repository.getURI() };
 
                     result =
-                        HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd );
+                        HgUtils.execute( new HgConsumer(), fileSet.getBasedir(), pushCmd );
                 }
             }
         }
@@ -119,8 +119,8 @@ public class HgTagCommand
 
         // do an inventory to return the files tagged (all of them)
         String[] listCmd = new String[]{ HgCommandConstants.INVENTORY_CMD };
-        HgListConsumer listconsumer = new HgListConsumer( getLogger() );
-        result = HgUtils.execute( listconsumer, getLogger(), fileSet.getBasedir(), listCmd );
+        HgListConsumer listconsumer = new HgListConsumer();
+        result = HgUtils.execute( listconsumer, fileSet.getBasedir(), listCmd );
         if ( result.isSuccess() )
         {
             List<ScmFile> files = listconsumer.getFiles();
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java
index 1fc8e944d..4fc8ef236 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.hg.command.tag;
  */
 
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.hg.command.HgConsumer;
 
 /**
@@ -30,11 +29,6 @@ import org.apache.maven.scm.provider.hg.command.HgConsumer;
 public class HgTagConsumer
         extends HgConsumer
 {
-    public HgTagConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     /** {@inheritDoc} */
     public void doConsume( ScmFileStatus status, String trimmedLine )
     {
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
index ac79a5cd3..89ce64aa1 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/update/HgUpdateCommand.java
@@ -24,7 +24,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
@@ -74,7 +73,7 @@ public class HgUpdateCommand
                     tag != null && !StringUtils.isEmpty( tag.getName() ) ? tag.getName() : "tip",
                     HgCommandConstants.CLEAN_OPTION };
         }
-        ScmResult updateResult = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), workingDir, updateCmd );
+        ScmResult updateResult = HgUtils.execute( new HgConsumer(), workingDir, updateCmd );
 
         if ( !updateResult.isSuccess() )
         {
@@ -82,18 +81,18 @@ public class HgUpdateCommand
         }
 
         // Find changes from last revision
-        int currentRevision = HgUtils.getCurrentRevisionNumber( getLogger(), workingDir );
+        int currentRevision = HgUtils.getCurrentRevisionNumber( workingDir );
         int previousRevision = currentRevision - 1;
         String[] diffCmd = new String[] {
             HgCommandConstants.DIFF_CMD,
             HgCommandConstants.REVISION_OPTION,
             "" + previousRevision };
-        HgDiffConsumer diffConsumer = new HgDiffConsumer( getLogger(), workingDir );
-        ScmResult diffResult = HgUtils.execute( diffConsumer, getLogger(), workingDir, diffCmd );
+        HgDiffConsumer diffConsumer = new HgDiffConsumer( workingDir );
+        ScmResult diffResult = HgUtils.execute( diffConsumer, workingDir, diffCmd );
 
         // Now translate between diff and update file status
-        List<ScmFile> updatedFiles = new ArrayList<ScmFile>();
-        List<CharSequence> changes = new ArrayList<CharSequence>();
+        List<ScmFile> updatedFiles = new ArrayList<>();
+        List<CharSequence> changes = new ArrayList<>();
         List<ScmFile> diffFiles = diffConsumer.getChangedFiles();
         Map<String, CharSequence> diffChanges = diffConsumer.getDifferences();
         for ( ScmFile file : diffFiles )
@@ -112,17 +111,15 @@ public class HgUpdateCommand
         if ( repo.isPushChanges() )
         {
             String[] hgUpdateCmd = new String[] { HgCommandConstants.UPDATE_CMD };
-            HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), workingDir, hgUpdateCmd );
+            HgUtils.execute( new HgConsumer(), workingDir, hgUpdateCmd );
         }
 
-        return new UpdateScmResultWithRevision( updatedFiles, new ArrayList<ChangeSet>( 0 ),
+        return new UpdateScmResultWithRevision( updatedFiles, new ArrayList<>( 0 ),
                                                 String.valueOf( currentRevision ), diffResult );
     }
 
     protected ChangeLogCommand getChangeLogCommand()
     {
-        HgChangeLogCommand command = new HgChangeLogCommand();
-        command.setLogger( getLogger() );
-        return command;
+        return new HgChangeLogCommand();
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
index d662a40ad..53239d4c9 100644
--- a/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
+++ b/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/repository/HgScmProviderRepository.java
@@ -23,6 +23,7 @@ import org.apache.maven.scm.provider.ScmProviderRepositoryWithHost;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
+import java.util.Objects;
 
 /**
  * @author <a href="mailto:thurner.rupert@ymono.net">thurner rupert</a>
@@ -122,7 +123,7 @@ public class HgScmProviderRepository
 
     private String parseUrl( String url )
     {
-        if ( protocol == FILE )
+        if ( Objects.equals( protocol, FILE ) )
         {
             return url;
         }
@@ -141,7 +142,7 @@ public class HgScmProviderRepository
 
     private String parseHostAndPort( String url )
     {
-        if ( protocol != FILE )
+        if ( !Objects.equals( protocol, FILE ) )
         {
             int indexSlash = url.indexOf( '/' );
 
@@ -192,7 +193,7 @@ public class HgScmProviderRepository
 
     private String parsePath( String url )
     {
-        if ( protocol == FILE )
+        if ( Objects.equals( protocol, FILE ) )
         {
             //Use OS dependent path separator
             url = StringUtils.replace( url, "/", File.separator );
@@ -239,7 +240,8 @@ public class HgScmProviderRepository
 
     private boolean needsAuthentication()
     {
-        return protocol == SFTP || protocol == FTP || protocol == HTTPS || protocol == AFTP;
+        return Objects.equals( protocol, SFTP ) || Objects.equals( protocol, FTP ) || Objects.equals( protocol, HTTPS )
+                || Objects.equals( protocol, AFTP );
     }
 
     private String addAuthority()
@@ -250,7 +252,7 @@ public class HgScmProviderRepository
 
     private boolean canAuthenticate()
     {
-        return needsAuthentication() || protocol == HTTP;
+        return needsAuthentication() || Objects.equals( protocol, HTTP );
     }
     /** {@inheritDoc} */
     public String toString()
diff --git a/maven-scm-providers/maven-scm-provider-local/pom.xml b/maven-scm-providers/maven-scm-provider-local/pom.xml
index 96a772495..453596543 100644
--- a/maven-scm-providers/maven-scm-provider-local/pom.xml
+++ b/maven-scm-providers/maven-scm-provider-local/pom.xml
@@ -42,6 +42,10 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
index 4979a4d8a..b7d4588d7 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java
@@ -153,8 +153,6 @@ public class LocalScmProvider
     {
         LocalStatusCommand command = new LocalStatusCommand();
 
-        command.setLogger( getLogger() );
-
         return (StatusScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -165,8 +163,6 @@ public class LocalScmProvider
     {
         LocalTagCommand command = new LocalTagCommand();
 
-        command.setLogger( getLogger() );
-
         return (TagScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -177,8 +173,6 @@ public class LocalScmProvider
     {
         LocalAddCommand command = new LocalAddCommand();
 
-        command.setLogger( getLogger() );
-
         return (AddScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -190,8 +184,6 @@ public class LocalScmProvider
     {
         LocalChangeLogCommand command = new LocalChangeLogCommand();
 
-        command.setLogger( getLogger() );
-
         return (ChangeLogScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -203,8 +195,6 @@ public class LocalScmProvider
     {
         LocalCheckInCommand command = new LocalCheckInCommand();
 
-        command.setLogger( getLogger() );
-
         return (CheckInScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -216,8 +206,6 @@ public class LocalScmProvider
     {
         LocalCheckOutCommand command = new LocalCheckOutCommand();
 
-        command.setLogger( getLogger() );
-
         return (CheckOutScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -228,8 +216,6 @@ public class LocalScmProvider
     {
         LocalListCommand command = new LocalListCommand();
 
-        command.setLogger( getLogger() );
-
         return (ListScmResult) command.execute( repository, fileSet, parameters );
     }
     
@@ -240,8 +226,6 @@ public class LocalScmProvider
     {
         LocalMkdirCommand command = new LocalMkdirCommand();
 
-        command.setLogger( getLogger() );
-
         return (MkdirScmResult) command.execute( repository, fileSet, parameters );
     }
 
@@ -252,8 +236,6 @@ public class LocalScmProvider
     {
         LocalUpdateCommand command = new LocalUpdateCommand();
 
-        command.setLogger( getLogger() );
-
         return (UpdateScmResult) command.execute( repository, fileSet, parameters );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
index 950c39345..3021b6a11 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/changelog/LocalChangeLogCommand.java
@@ -82,7 +82,7 @@ public class LocalChangeLogCommand
             throw new ScmException( "The module directory doesn't exist (" + source.getAbsolutePath() + ")." );
         }
 
-        List<ChangeSet> changeLogList = new ArrayList<ChangeSet>();
+        List<ChangeSet> changeLogList = new ArrayList<>();
 
         try
         {
@@ -92,9 +92,7 @@ public class LocalChangeLogCommand
 
             if ( files.isEmpty() )
             {
-                @SuppressWarnings( "unchecked" )
-                List<File> fileList = FileUtils.getFiles( baseDestination, "**", null, false );
-                files = fileList;
+                files = FileUtils.getFiles( baseDestination, "**", null, false );
             }
 
             for ( File file : files )
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
index f50ab76cf..563b56659 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkin/LocalCheckInCommand.java
@@ -81,7 +81,7 @@ public class LocalCheckInCommand
             throw new ScmException( "The module directory doesn't exist (" + source.getAbsolutePath() + ")." );
         }
 
-        List<ScmFile> checkedInFiles = new ArrayList<ScmFile>();
+        List<ScmFile> checkedInFiles = new ArrayList<>();
 
         try
         {
@@ -92,10 +92,7 @@ public class LocalCheckInCommand
 
             if ( files.isEmpty() )
             {
-                @SuppressWarnings( "unchecked" )
-                List<File> listFiles = FileUtils.getFiles( baseDestination, "**", null, false ); 
-               
-                files = listFiles;
+                files = FileUtils.getFiles( baseDestination, "**", null, false );
             }
 
             for ( File file : files )
@@ -112,10 +109,10 @@ public class LocalCheckInCommand
 
                     String fileContents = FileUtils.fileRead( file );
 
-                    if ( getLogger().isDebugEnabled() )
+                    if ( logger.isDebugEnabled() )
                     {
-                        getLogger().debug( "fileContents:" + fileContents );
-                        getLogger().debug( "repoFileContents:" + repoFileContents );
+                        logger.debug( "fileContents:" + fileContents );
+                        logger.debug( "repoFileContents:" + repoFileContents );
                     }
                     if ( fileContents.equals( repoFileContents ) )
                     {
@@ -130,9 +127,9 @@ public class LocalCheckInCommand
                 }
                 else
                 {
-                    if ( getLogger().isWarnEnabled() )
+                    if ( logger.isWarnEnabled() )
                     {
-                        getLogger().warn( "skipped unknown file in checkin:" + path );
+                        logger.warn( "skipped unknown file in checkin:" + path );
                     }
                     // unknown file, skip
                     continue;
@@ -140,7 +137,7 @@ public class LocalCheckInCommand
 
                 FileUtils.copyFile( file, repoFile );
                 ScmFile scmFile = new ScmFile( path, status );
-                getLogger().info( scmFile.toString() );
+                logger.info( scmFile.toString() );
                 checkedInFiles.add( scmFile );
             }
         }
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
index c6b83eef8..107c24123 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/checkout/LocalCheckOutCommand.java
@@ -90,9 +90,9 @@ public class LocalCheckOutCommand
                     "Could not create destination directory '" + baseDestination.getAbsolutePath() + "'." );
             }
 
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info(
+                logger.info(
                                   "Checking out '" + source.getAbsolutePath() + "' to '"
                                       + baseDestination.getAbsolutePath() + "'." );
             }
@@ -101,9 +101,7 @@ public class LocalCheckOutCommand
 
             if ( fileSet.getFileList().isEmpty() )
             {
-                @SuppressWarnings( "unchecked" )
-                List<File> files = FileUtils.getFiles( source.getAbsoluteFile(), "**", null ); 
-                fileList = files;
+                fileList = FileUtils.getFiles( source.getAbsoluteFile(), "**", null );
             }
             else
             {
@@ -113,7 +111,7 @@ public class LocalCheckOutCommand
             checkedOutFiles = checkOut( source, baseDestination, fileList, repository.getModule() );
 
             // write metadata file
-            LocalScmMetadataUtils metadataUtils = new LocalScmMetadataUtils( getLogger() );
+            LocalScmMetadataUtils metadataUtils = new LocalScmMetadataUtils();
             metadataUtils.writeMetadata( baseDestination, metadataUtils.buildMetadata( source ) );
         }
         catch ( IOException ex )
@@ -129,7 +127,7 @@ public class LocalCheckOutCommand
     {
         String sourcePath = source.getAbsolutePath();
 
-        List<ScmFile> checkedOutFiles = new ArrayList<ScmFile>();
+        List<ScmFile> checkedOutFiles = new ArrayList<>();
 
         for ( File file : files )
         {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
index 67447ec5c..b5fc01bef 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/list/LocalListCommand.java
@@ -32,7 +32,6 @@ import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -70,9 +69,9 @@ public class LocalListCommand
             throw new ScmException( "The module directory doesn't exist (" + source.getAbsolutePath() + ")." );
         }
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Listing files of '" + source.getAbsolutePath() + "'." );
+            logger.info( "Listing files of '" + source.getAbsolutePath() + "'." );
         }
 
         try
@@ -83,13 +82,10 @@ public class LocalListCommand
             }
             else
             {
-                List<ScmFile> files = new ArrayList<ScmFile>();
-                Iterator<File> it = fileSet.getFileList().iterator();
+                List<ScmFile> files = new ArrayList<>();
 
-                while ( it.hasNext() )
+                for ( File file : fileSet.getFileList() )
                 {
-                    File file = (File) it.next();
-
                     files.addAll( getFiles( source, new File( source, file.getPath() ), recursive ) );
                 }
 
@@ -110,7 +106,7 @@ public class LocalListCommand
             throw new Exception( "Directory '" + directory.getAbsolutePath() + "' doesn't exist." );
         }
 
-        List<ScmFile> files = new ArrayList<ScmFile>();
+        List<ScmFile> files = new ArrayList<>();
 
         File[] filesArray = directory.listFiles();
 
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommand.java
index 07994752a..ffff58ad6 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/mkdir/LocalMkdirCommand.java
@@ -49,12 +49,12 @@ public class LocalMkdirCommand
         throws ScmException
     {
         LocalScmProviderRepository repo = (LocalScmProviderRepository) repository;
-        List<ScmFile> createdDirs = new ArrayList<ScmFile>();
+        List<ScmFile> createdDirs = new ArrayList<>();
 
         // create/commit the directory directly in the repository
         if ( !createInLocal )
         {
-            File file = (File) fileSet.getFileList().get( 0 );
+            File file = fileSet.getFileList().get( 0 );
             File modulePath = new File( repo.getRoot(), repo.getModule() );
             File dir = new File( modulePath, file.getName() );
 
@@ -64,9 +64,9 @@ public class LocalMkdirCommand
             }
             else
             {
-                if ( getLogger().isInfoEnabled() )
+                if ( logger.isInfoEnabled() )
                 {
-                    getLogger().info( "Creating directory in '" + modulePath.getAbsolutePath() + "'" );
+                    logger.info( "Creating directory in '" + modulePath.getAbsolutePath() + "'" );
                 }
 
                 FileUtils.mkdir( dir.getAbsolutePath() );
@@ -77,13 +77,12 @@ public class LocalMkdirCommand
         {
             // add the directory, but not commit
             LocalAddCommand addCmd = new LocalAddCommand();
-            addCmd.setLogger( getLogger() );
 
             CommandParameters parameters = new CommandParameters();
             parameters.setString( CommandParameter.MESSAGE, message );
             parameters.setString( CommandParameter.BINARY, "false" );
 
-            String path = ( (File) fileSet.getFileList().get( 0 ) ).getPath();
+            String path = ( fileSet.getFileList().get( 0 ) ).getPath();
             if ( repo.isFileAdded( path ) )
             {
                 return new MkdirScmResult( null, "Directory already exists!", "Directory already exists.", false );
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/status/LocalStatusCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/status/LocalStatusCommand.java
index 67cb90abb..4a030f549 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/status/LocalStatusCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/status/LocalStatusCommand.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.local.command.status;
 import java.util.Collections;
 
 import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.status.AbstractStatusCommand;
 import org.apache.maven.scm.command.status.StatusScmResult;
@@ -41,6 +40,6 @@ public class LocalStatusCommand
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
-        return new StatusScmResult( null, Collections.<ScmFile>emptyList() );
+        return new StatusScmResult( null, Collections.emptyList() );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/tag/LocalTagCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/tag/LocalTagCommand.java
index 3ad8db669..87a2371ea 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/tag/LocalTagCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/tag/LocalTagCommand.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.local.command.tag;
 import java.util.Collections;
 
 import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmTagParameters;
@@ -45,7 +44,7 @@ public class LocalTagCommand
                                            ScmTagParameters scmTagParameters )
         throws ScmException
     {
-        return new TagScmResult( null, Collections.<ScmFile>emptyList() );
+        return new TagScmResult( null, Collections.emptyList() );
     }
 
     //Satisfies deprecated interface
@@ -54,6 +53,6 @@ public class LocalTagCommand
                                            String message )
         throws ScmException
     {
-        return new TagScmResult( null, Collections.<ScmFile>emptyList() );
+        return new TagScmResult( null, Collections.emptyList() );
     }
 }
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
index 5458f41c8..cfe7fd95d 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/command/update/LocalUpdateCommand.java
@@ -95,19 +95,18 @@ public class LocalUpdateCommand
 
         try
         {
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info(
+                logger.info(
                                   "Updating '" + baseDestination.getAbsolutePath() + "' from '"
                                       + source.getAbsolutePath() + "'." );
             }
 
-            @SuppressWarnings( "unchecked" )
             List<File> fileList = FileUtils.getFiles( source.getAbsoluteFile(), "**", null );
             updatedFiles = update( source, baseDestination, fileList );
 
             // process deletions in repository
-            LocalScmMetadataUtils metadataUtils = new LocalScmMetadataUtils( getLogger() );
+            LocalScmMetadataUtils metadataUtils = new LocalScmMetadataUtils();
             LocalScmMetadata originalMetadata = metadataUtils.readMetadata( baseDestination );
             if ( originalMetadata != null )
             {
@@ -144,7 +143,7 @@ public class LocalUpdateCommand
     {
         String sourcePath = source.getAbsolutePath();
 
-        List<ScmFile> updatedFiles = new ArrayList<ScmFile>();
+        List<ScmFile> updatedFiles = new ArrayList<>();
 
         for ( Iterator<File> i = files.iterator(); i.hasNext(); )
         {
diff --git a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
index eb8c507ad..541acf6a4 100644
--- a/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
+++ b/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/metadata/LocalScmMetadataUtils.java
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.local.metadata;
  * under the License.
  */
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Reader;
 import org.apache.maven.scm.provider.local.metadata.io.xpp3.LocalScmMetadataXpp3Writer;
 import org.codehaus.plexus.util.FileUtils;
@@ -27,6 +26,8 @@ import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.WriterFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
@@ -47,12 +48,7 @@ public class LocalScmMetadataUtils
      */
     public static final String FILENAME = ".maven-scm-local";
 
-    protected final ScmLogger logger;
-
-    public LocalScmMetadataUtils( ScmLogger logger )
-    {
-        this.logger = logger;
-    }
+    private static final Logger LOGGER = LoggerFactory.getLogger( LocalScmMetadataUtils.class );
 
     /**
      * Builds LocalScmMetadata based on contents of repository
@@ -116,17 +112,17 @@ public class LocalScmMetadataUtils
         }
         catch ( XmlPullParserException e )
         {
-            if ( logger.isWarnEnabled() )
+            if ( LOGGER.isWarnEnabled() )
             {
-                logger.warn( "Could not interpret .maven-scm-local - ignoring", e );
+                LOGGER.warn( "Could not interpret .maven-scm-local - ignoring", e );
             }
             return null;
         }
         catch ( IOException e )
         {
-            if ( logger.isWarnEnabled() )
+            if ( LOGGER.isWarnEnabled() )
             {
-                logger.warn( "Could not Read .maven-scm-local - ignoring", e );
+                LOGGER.warn( "Could not Read .maven-scm-local - ignoring", e );
             }
         }
         finally
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
index be0cda19f..d58eaf2e5 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/pom.xml
@@ -80,6 +80,10 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
     <dependency>
       <groupId> javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
index 73a879c2c..02fd80e19 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
@@ -70,7 +70,7 @@ public abstract class AbstractGitScmProvider
      */
     private static class ScmUrlParserResult
     {
-        private List<String> messages = new ArrayList<String>();
+        private final List<String> messages = new ArrayList<>();
 
         private ScmProviderRepository repository;
     }
@@ -143,7 +143,7 @@ public abstract class AbstractGitScmProvider
     /** {@inheritDoc} */
     public List<String> validateScmUrl( String scmSpecificUrl, char delimiter )
     {
-        List<String> messages = new ArrayList<String>();
+        List<String> messages = new ArrayList<>();
         try
         {
             makeProviderScmRepository( scmSpecificUrl, delimiter );
@@ -297,8 +297,6 @@ public abstract class AbstractGitScmProvider
                                         CommandParameters parameters )
         throws ScmException
     {
-        command.setLogger( getLogger() );
-
         return command.execute( repository, fileSet, parameters );
     }
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitConfigFileReader.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitConfigFileReader.java
index 4658a8b11..466c120de 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitConfigFileReader.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/GitConfigFileReader.java
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.git;
  * under the License.
  */
 
-import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.BufferedReader;
@@ -124,21 +123,22 @@ public class GitConfigFileReader
      */
     private List<String> getConfLines()
     {
-        List<String> lines = new ArrayList<String>();
-
-        BufferedReader reader = null;
+        List<String> lines = new ArrayList<>();
 
         try
         {
             if ( getConfigDirectory().exists() )
             {
-                reader = new BufferedReader( new FileReader( new File( getConfigDirectory(), "config" ) ) );
-                String line;
-                while ( ( line = reader.readLine() ) != null )
+                try ( BufferedReader reader = new BufferedReader( new FileReader(
+                        new File( getConfigDirectory(), "config" ) ) ) )
                 {
-                    if ( !line.startsWith( "#" ) && StringUtils.isNotEmpty( line ) )
+                    String line;
+                    while ( ( line = reader.readLine() ) != null )
                     {
-                        lines.add( line );
+                        if ( !line.startsWith( "#" ) && StringUtils.isNotEmpty( line ) )
+                        {
+                            lines.add( line );
+                        }
                     }
                 }
             }
@@ -147,11 +147,6 @@ public class GitConfigFileReader
         {
             lines.clear();
         }
-        finally
-        {
-            IOUtil.close( reader );
-            reader = null;
-        }
 
         return lines;
     }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
index e7ba3361e..d452a4e88 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/diff/GitDiffConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.git.command.diff;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.io.File;
@@ -92,9 +91,9 @@ public class GitDiffConsumer
     //
     // ----------------------------------------------------------------------
 
-    public GitDiffConsumer( ScmLogger logger, File workingDirectory )
+    public GitDiffConsumer( File workingDirectory )
     {
-        super( logger );
+        // empty
     }
 
     // ----------------------------------------------------------------------
diff --git a/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 b/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
index 99d24e63b..9fee581b2 100644
--- a/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
+++ b/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
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.git.command.diff;
 
 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;
 
@@ -39,7 +38,7 @@ public class GitDiffConsumerTest
     public void testEmptyLogConsumer()
         throws Exception
     {
-        GitDiffConsumer consumer = new GitDiffConsumer( new DefaultLog(), null );
+        GitDiffConsumer consumer = new GitDiffConsumer( null );
 
         File f = getTestFile( "/src/test/resources/git/diff/git-diff-empty.log" );
 
@@ -53,7 +52,7 @@ public class GitDiffConsumerTest
     public void testLog1Consumer()
         throws Exception
     {
-        GitDiffConsumer consumer = new GitDiffConsumer( new DefaultLog(), null );
+        GitDiffConsumer consumer = new GitDiffConsumer( null );
 
         File f = getTestFile( "src/test/resources/git/diff/git-diff1.log" );
 
@@ -76,7 +75,7 @@ public class GitDiffConsumerTest
     public void testLog2Consumer()
         throws Exception
     {
-        GitDiffConsumer consumer = new GitDiffConsumer( new DefaultLog(), null );
+        GitDiffConsumer consumer = new GitDiffConsumer( null );
 
         File f = getTestFile( "src/test/resources/git/diff/git-diff2.log" );
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
index 113e6d07c..03e378c85 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/pom.xml
@@ -38,6 +38,10 @@
       <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
     <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
index cbba785ee..13cd4ad7d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/AbstractFileCheckingConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.git.gitexe.command;
  */
 
 import org.apache.maven.scm.ScmFile;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.io.File;
@@ -44,9 +43,8 @@ public abstract class AbstractFileCheckingConsumer
 
     private boolean filtered;
 
-    public AbstractFileCheckingConsumer( ScmLogger logger, File workingDirectory )
+    public AbstractFileCheckingConsumer( File workingDirectory )
     {
-        super( logger );
         this.workingDirectory = workingDirectory;
     }
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
index 4f25def9c..0d9a0e5b4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java
@@ -22,13 +22,14 @@ package org.apache.maven.scm.provider.git.gitexe.command;
 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;
 import org.apache.maven.scm.providers.gitlib.settings.Settings;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.StreamConsumer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
@@ -43,6 +44,7 @@ import java.util.List;
  */
 public final class GitCommandLineUtils
 {
+    private static final Logger LOGGER = LoggerFactory.getLogger( GitCommandLineUtils.class );
 
     private GitCommandLineUtils()
     {
@@ -132,14 +134,13 @@ public final class GitCommandLineUtils
         }
     }
 
-    public static int execute( Commandline cl, StreamConsumer consumer, CommandLineUtils.StringStreamConsumer stderr,
-                               ScmLogger logger )
+    public static int execute( Commandline cl, StreamConsumer consumer, CommandLineUtils.StringStreamConsumer stderr )
         throws ScmException
     {
-        if ( logger.isInfoEnabled() )
+        if ( LOGGER.isInfoEnabled() )
         {
-            logger.info( "Executing: " + cl );
-            logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+            LOGGER.info( "Executing: " + cl );
+            LOGGER.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
         }
 
         int exitCode;
@@ -156,13 +157,13 @@ public final class GitCommandLineUtils
     }
 
     public static int execute( Commandline cl, CommandLineUtils.StringStreamConsumer stdout,
-                               CommandLineUtils.StringStreamConsumer stderr, ScmLogger logger )
+                               CommandLineUtils.StringStreamConsumer stderr )
         throws ScmException
     {
-        if ( logger.isInfoEnabled() )
+        if ( LOGGER.isInfoEnabled() )
         {
-            logger.info( "Executing: " + cl );
-            logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+            LOGGER.info( "Executing: " + cl );
+            LOGGER.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
         }
 
         int exitCode;
diff --git a/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 b/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
index 00da32475..f8324b4a5 100644
--- a/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
+++ b/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
@@ -71,7 +71,7 @@ public class GitAddCommand
         }
 
         // SCM-709: statusCommand uses repositoryRoot instead of workingDirectory, adjust it with relativeRepositoryPath
-        URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( this, fileSet );
+        URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( logger, fileSet );
 
         int exitCode;
         CommandLineUtils.StringStreamConsumer stderr;
@@ -82,19 +82,19 @@ public class GitAddCommand
         Commandline clStatus = GitStatusCommand.createCommandLine( repository, fileSet );
 
         GitStatusConsumer statusConsumer =
-            new GitStatusConsumer( getLogger(), fileSet.getBasedir(), relativeRepositoryPath );
+            new GitStatusConsumer( fileSet.getBasedir(), relativeRepositoryPath );
         stderr = new CommandLineUtils.StringStreamConsumer();
-        exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr );
         if ( exitCode != 0 )
         {
             // git-status returns non-zero if nothing to do
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( "nothing added to commit but untracked files present (use \"git add\" to track)" );
+                logger.info( "nothing added to commit but untracked files present (use \"git add\" to track)" );
             }
         }
 
-        List<ScmFile> changedFiles = new ArrayList<ScmFile>();
+        List<ScmFile> changedFiles = new ArrayList<>();
 
         // rewrite all detected files to now have status 'checked_in'
         for ( ScmFile scmfile : statusConsumer.getChangedFiles() )
@@ -166,7 +166,7 @@ public class GitAddCommand
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
 
-        int exitCode = GitCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+        int exitCode = GitCommandLineUtils.execute( cl, stdout, stderr );
 
         if ( exitCode != 0 )
         {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
index 0256ecef7..284439a59 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
@@ -52,10 +52,10 @@ public class GitBlameCommand
         String filename = parameters.getString( CommandParameter.FILE );
         Commandline cl = createCommandLine( workingDirectory.getBasedir(), filename,
                                             parameters.getBoolean( CommandParameter.IGNORE_WHITESPACE, false ) );
-        GitBlameConsumer consumer = new GitBlameConsumer( getLogger() );
+        GitBlameConsumer consumer = new GitBlameConsumer();
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        int exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+        int exitCode = GitCommandLineUtils.execute( cl, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new BlameScmResult( cl.toString(), "The git blame command failed.", stderr.getOutput(), false );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumer.java
index 0d4dd559a..ad32a36de 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.blame;
  */
 
 import org.apache.maven.scm.command.blame.BlameLine;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.text.DateFormat;
@@ -52,7 +51,7 @@ public class GitBlameConsumer
     private static final String GIT_AUTHOR         = "author ";
 
 
-    private List<BlameLine> lines = new ArrayList<BlameLine>();
+    private final List<BlameLine> lines = new ArrayList<>();
 
     /**
      * Since the porcelain format only contains the commit information
@@ -62,7 +61,7 @@ public class GitBlameConsumer
      * key: the sha-1 of the commit
      * value: the {@link BlameLine} containing the full committer/author info
      */
-    private Map<String, BlameLine> commitInfo = new HashMap<String, BlameLine>();
+    private final Map<String, BlameLine> commitInfo = new HashMap<>();
 
     private boolean expectRevisionLine = true;
 
@@ -71,11 +70,6 @@ public class GitBlameConsumer
     private String committer = null;
     private Date   time      = null;
 
-    public GitBlameConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     public void consumeLine( String line )
     {
         if ( line == null )
@@ -137,10 +131,10 @@ public class GitBlameConsumer
                 // keep commitinfo for this sha-1
                 commitInfo.put( revision, blameLine );
 
-                if ( getLogger().isDebugEnabled() )
+                if ( logger.isDebugEnabled() )
                 {
                     DateFormat df = SimpleDateFormat.getDateTimeInstance();
-                    getLogger().debug( author + " " + df.format( time ) );
+                    logger.debug( author + " " + df.format( time ) );
                 }
 
                 expectRevisionLine = true;
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
index 65c906618..7575df06d 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
@@ -25,7 +25,6 @@ import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.command.branch.AbstractBranchCommand;
 import org.apache.maven.scm.command.branch.BranchScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 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;
@@ -69,7 +68,7 @@ public class GitBranchCommand
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         int exitCode;
 
-        exitCode = GitCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( cl, stdout, stderr );
         if ( exitCode != 0 )
         {
             return new BranchScmResult( cl.toString(), "The git-branch command failed.", stderr.getOutput(), false );
@@ -80,7 +79,7 @@ public class GitBranchCommand
             // and now push the branch to the upstream repository
             Commandline clPush = createPushCommandLine( repository, fileSet, branch );
 
-            exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new BranchScmResult( clPush.toString(), "The git-push command failed.", stderr.getOutput(),
@@ -89,11 +88,11 @@ public class GitBranchCommand
         }
 
         // as last action we search for the branched files
-        GitListConsumer listConsumer = new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.TAGGED );
+        GitListConsumer listConsumer = new GitListConsumer( fileSet.getBasedir(), ScmFileStatus.TAGGED );
 
         Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
 
-        exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr );
         if ( exitCode != 0 )
         {
             return new BranchScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(),
@@ -132,17 +131,17 @@ public class GitBranchCommand
     /**
      * Helper function to detect the current branch 
      */
-    public static String getCurrentBranch( ScmLogger logger, GitScmProviderRepository repository, ScmFileSet fileSet )
+    public static String getCurrentBranch( GitScmProviderRepository repository, ScmFileSet fileSet )
         throws ScmException
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "symbolic-ref" );
         cl.createArg().setValue( "HEAD" );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
-        GitCurrentBranchConsumer cbConsumer = new GitCurrentBranchConsumer( logger );
+        GitCurrentBranchConsumer cbConsumer = new GitCurrentBranchConsumer();
         int exitCode;
 
-        exitCode = GitCommandLineUtils.execute( cl, cbConsumer, stderr, logger );
+        exitCode = GitCommandLineUtils.execute( cl, cbConsumer, stderr );
 
         if ( exitCode != 0 )
         {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitCurrentBranchConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitCurrentBranchConsumer.java
index 6ee724ab6..6008edc10 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitCurrentBranchConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitCurrentBranchConsumer.java
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.branch;
  * under the License.
  */
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 /**
@@ -35,14 +34,6 @@ public class GitCurrentBranchConsumer
     private static final String BRANCH_INDICATOR = "refs/heads/";
     
     private String branch;
-    
-    /**
-     * Default constructor.
-     */
-    public GitCurrentBranchConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
 
     public String getBranchName()
     {
diff --git a/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 b/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
index 2d76f449b..fe6ce6bb8 100644
--- a/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
+++ b/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
@@ -146,13 +146,13 @@ public class GitChangeLogCommand
         Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet.getBasedir(), branch, startDate,
                                             endDate, startVersion, endVersion, limit, version );
 
-        GitChangeLogConsumer consumer = new GitChangeLogConsumer( getLogger(), datePattern );
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( datePattern );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
         int exitCode;
 
-        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new ChangeLogScmResult( cl.toString(), "The git-log command failed.", stderr.getOutput(), false );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
index 902c6f393..b231c597e 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -142,7 +141,7 @@ public class GitChangeLogConsumer
     /**
      * List of change log entries
      */
-    private List<ChangeSet> entries = new ArrayList<ChangeSet>();
+    private final List<ChangeSet> entries = new ArrayList<>();
 
     /**
      * The current log entry being processed by the parser
@@ -159,15 +158,13 @@ public class GitChangeLogConsumer
      */
     private StringBuilder currentComment;
 
-    private String userDateFormat;
+    private final String userDateFormat;
 
     /**
      * Default constructor.
      */
-    public GitChangeLogConsumer( ScmLogger logger, String userDateFormat )
+    public GitChangeLogConsumer( String userDateFormat )
     {
-        super( logger );
-
         this.userDateFormat = userDateFormat;
     }
 
diff --git a/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 b/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
index ba467f60b..0e42d6ab9 100644
--- a/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
+++ b/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
@@ -27,7 +27,6 @@ import org.apache.maven.scm.ScmFileStatus;
 import org.apache.maven.scm.ScmVersion;
 import org.apache.maven.scm.command.checkin.AbstractCheckInCommand;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 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;
@@ -97,7 +96,7 @@ public class GitCheckInCommand
                     {
                         clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(),
                                                                  Collections.singletonList( file ) );
-                        exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() );
+                        exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr );
 
                         if ( exitCode != 0 )
                         {
@@ -108,7 +107,7 @@ public class GitCheckInCommand
                 else
                 {
                     clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() );
-                    exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() );
+                    exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr );
                 }
 
                 if ( exitCode != 0 )
@@ -121,7 +120,7 @@ public class GitCheckInCommand
 
             // SCM-709: statusCommand uses repositoryRoot instead of workingDirectory, adjust it with
             // relativeRepositoryPath
-            URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( this, fileSet );
+            URI relativeRepositoryPath = GitStatusCommand.getRelativeCWD( logger, fileSet );
 
             // git-commit doesn't show single files, but only summary :/
             // so we must run git-status and consume the output
@@ -129,14 +128,14 @@ public class GitCheckInCommand
             Commandline clStatus = GitStatusCommand.createCommandLine( repository, fileSet );
 
             GitStatusConsumer statusConsumer =
-                new GitStatusConsumer( getLogger(), fileSet.getBasedir(), relativeRepositoryPath, fileSet );
-            exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr, getLogger() );
+                new GitStatusConsumer( fileSet.getBasedir(), relativeRepositoryPath, fileSet );
+            exitCode = GitCommandLineUtils.execute( clStatus, statusConsumer, stderr );
             if ( exitCode != 0 )
             {
                 // git-status returns non-zero if nothing to do
-                if ( getLogger().isInfoEnabled() )
+                if ( logger.isInfoEnabled() )
                 {
-                    getLogger().info( "nothing added to commit but untracked files present (use \"git add\" to "
+                    logger.info( "nothing added to commit but untracked files present (use \"git add\" to "
                                           + "track)" );
                 }
             }
@@ -148,7 +147,7 @@ public class GitCheckInCommand
 
             Commandline clCommit = createCommitCommandLine( repository, fileSet, messageFile );
 
-            exitCode = GitCommandLineUtils.execute( clCommit, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clCommit, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new CheckInScmResult( clCommit.toString(), "The git-commit command failed.", stderr.getOutput(),
@@ -157,9 +156,9 @@ public class GitCheckInCommand
 
             if ( repo.isPushChanges() )
             {
-                Commandline cl = createPushCommandLine( getLogger(), repository, fileSet, version );
+                Commandline cl = createPushCommandLine( repository, fileSet, version );
 
-                exitCode = GitCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+                exitCode = GitCommandLineUtils.execute( cl, stdout, stderr );
                 if ( exitCode != 0 )
                 {
                     return new CheckInScmResult( cl.toString(), "The git-push command failed.", stderr.getOutput(),
@@ -167,7 +166,7 @@ public class GitCheckInCommand
                 }
             }
 
-            List<ScmFile> checkedInFiles = new ArrayList<ScmFile>( statusConsumer.getChangedFiles().size() );
+            List<ScmFile> checkedInFiles = new ArrayList<>( statusConsumer.getChangedFiles().size() );
 
             // rewrite all detected files to now have status 'checked_in'
             for ( ScmFile changedFile : statusConsumer.getChangedFiles() )
@@ -212,13 +211,13 @@ public class GitCheckInCommand
     //
     // ----------------------------------------------------------------------
 
-    public static Commandline createPushCommandLine( ScmLogger logger, GitScmProviderRepository repository,
+    public static Commandline createPushCommandLine( GitScmProviderRepository repository,
                                                      ScmFileSet fileSet, ScmVersion version )
         throws ScmException
     {
         Commandline cl = GitCommandLineUtils.getBaseGitCommandLine( fileSet.getBasedir(), "push" );
 
-        String branch = GitBranchCommand.getCurrentBranch( logger, repository, fileSet );
+        String branch = GitBranchCommand.getCurrentBranch( repository, fileSet );
 
         if ( branch == null || branch.length() == 0 )
         {
diff --git a/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 b/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
index a831e5bab..2f9e7c0dc 100644
--- a/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
+++ b/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
@@ -95,7 +95,7 @@ public class GitCheckOutCommand
             // no git repo seems to exist, let's clone the original repo
             Commandline clClone = createCloneCommand( repository, fileSet.getBasedir(), version, binary, shallow );
 
-            exitCode = GitCommandLineUtils.execute( clClone, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clClone, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( clClone.toString(), "The git-clone command failed.", stderr.getOutput(),
@@ -105,7 +105,7 @@ public class GitCheckOutCommand
         }
 
         GitRemoteInfoCommand gitRemoteInfoCommand = new GitRemoteInfoCommand();
-        gitRemoteInfoCommand.setLogger( getLogger() );
+
         RemoteInfoScmResult result = gitRemoteInfoCommand.executeRemoteInfoCommand( repository, null, null );
 
         if ( fileSet.getBasedir().exists() && new File( fileSet.getBasedir(), ".git" ).exists()
@@ -114,7 +114,7 @@ public class GitCheckOutCommand
             // git repo exists, so we must git-pull the changes
             Commandline clPull = createPullCommand( repository, fileSet.getBasedir(), version );
 
-            exitCode = GitCommandLineUtils.execute( clPull, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clPull, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( clPull.toString(), "The git-pull command failed.", stderr.getOutput(),
@@ -125,7 +125,7 @@ public class GitCheckOutCommand
             // and now lets do the git-checkout itself
             Commandline clCheckout = createCommandLine( repository, fileSet.getBasedir(), version );
 
-            exitCode = GitCommandLineUtils.execute( clCheckout, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clCheckout, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( clCheckout.toString(), "The git-checkout command failed.",
@@ -136,11 +136,11 @@ public class GitCheckOutCommand
 
         // and now search for the files
         GitListConsumer listConsumer =
-            new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.CHECKED_IN );
+            new GitListConsumer( fileSet.getBasedir(), ScmFileStatus.CHECKED_IN );
 
         Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
 
-        exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr );
         if ( exitCode != 0 )
         {
             return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.", stderr.getOutput(),
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
index eac118d62..66f9999a7 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
@@ -47,13 +47,13 @@ public class GitDiffCommand
                                                 ScmVersion startVersion, ScmVersion endVersion )
         throws ScmException
     {
-        GitDiffConsumer consumer = new GitDiffConsumer( getLogger(), fileSet.getBasedir() );
+        GitDiffConsumer consumer = new GitDiffConsumer( fileSet.getBasedir() );
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
         int exitCode;
 
         Commandline clDiff2Index = createCommandLine( fileSet.getBasedir(), startVersion, endVersion, false );
 
-        exitCode = GitCommandLineUtils.execute( clDiff2Index, consumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clDiff2Index, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new DiffScmResult( clDiff2Index.toString(), "The git-diff command failed.", stderr.getOutput(),
@@ -62,7 +62,7 @@ public class GitDiffCommand
 
         Commandline clDiff2Head = createCommandLine( fileSet.getBasedir(), startVersion, endVersion, true );
 
-        exitCode = GitCommandLineUtils.execute( clDiff2Head, consumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clDiff2Head, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new DiffScmResult( clDiff2Head.toString(), "The git-diff command failed.", stderr.getOutput(),
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumer.java
index 0b5d74b9d..2f4b20efd 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffRawConsumer.java
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -37,15 +36,6 @@ public class GitDiffRawConsumer
 {
     private final List<ScmFile> changedFiles = new ArrayList<>();
 
-    // ----------------------------------------------------------------------
-    //
-    // ----------------------------------------------------------------------
-
-    public GitDiffRawConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
index c5a425604..d722a1d17 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
@@ -49,12 +49,12 @@ public class GitInfoCommand
         throws ScmException
     {
 
-        GitInfoConsumer consumer = new GitInfoConsumer( getLogger(), fileSet );
+        GitInfoConsumer consumer = new GitInfoConsumer( fileSet );
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
         Commandline cli = createCommandLine( repository, fileSet, parameters );
 
-        int exitCode = GitCommandLineUtils.execute( cli, consumer, stderr, getLogger() );
+        int exitCode = GitCommandLineUtils.execute( cli, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new InfoScmResult( cli.toString(), "The git rev-parse command failed.", stderr.getOutput(), false );
diff --git a/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 b/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
index 3b236ebf2..55c728d18 100644
--- a/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
+++ b/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
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.info.InfoItem;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -39,12 +38,12 @@ public class GitInfoConsumer
     //$ git show
     //commit cd3c0dfacb65955e6fbb35c56cc5b1bf8ce4f767
 
-    private List<InfoItem> infoItems = new ArrayList<InfoItem>( 1 );
+    private final List<InfoItem> infoItems = new ArrayList<>( 1 );
 
-    private ScmFileSet scmFileSet;
-    public GitInfoConsumer( ScmLogger logger, ScmFileSet scmFileSet )
+    private final ScmFileSet scmFileSet;
+
+    public GitInfoConsumer( ScmFileSet scmFileSet )
     {
-        super( logger );
         this.scmFileSet = scmFileSet;
     }
 
@@ -53,9 +52,9 @@ public class GitInfoConsumer
      */
     public void consumeLine( String line )
     {
-        if ( getLogger().isDebugEnabled() )
+        if ( logger.isDebugEnabled() )
         {
-            getLogger().debug( "consume line " + line );
+            logger.debug( "consume line " + line );
         }
 
         if ( infoItems.isEmpty() )
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
index 5e77a77e2..6452fa0f4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.list;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.git.gitexe.command.AbstractFileCheckingConsumer;
 
 import java.io.File;
@@ -35,16 +34,15 @@ import java.util.List;
 public class GitListConsumer
     extends AbstractFileCheckingConsumer
 {
-    private ScmFileStatus fileStatus;
+    private final ScmFileStatus fileStatus;
 
     /**
-     * @param logger
      * @param workingDirectory
      * @param fileStatus will be used for each file found
      */
-    public GitListConsumer( ScmLogger logger, File workingDirectory, ScmFileStatus fileStatus )
+    public GitListConsumer( File workingDirectory, ScmFileStatus fileStatus )
     {
-        super( logger, workingDirectory );
+        super( workingDirectory );
 
         this.fileStatus = fileStatus;
     }
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
index 2c8264a13..c97d5a3f3 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
@@ -50,12 +50,12 @@ public class GitRemoteInfoCommand
 
         Commandline clLsRemote = createCommandLine( gitRepository );
 
-        GitRemoteInfoConsumer consumer = new GitRemoteInfoConsumer( getLogger(), clLsRemote.toString() );
+        GitRemoteInfoConsumer consumer = new GitRemoteInfoConsumer( clLsRemote.toString() );
 
-        int exitCode = GitCommandLineUtils.execute( clLsRemote, consumer, stderr, getLogger() );
+        int exitCode = GitCommandLineUtils.execute( clLsRemote, consumer, stderr );
         if ( exitCode != 0 )
         {
-            throw new ScmException( "unbale to execute ls-remote on " + gitRepository.getFetchUrl() );
+            throw new ScmException( "unable to execute ls-remote on " + gitRepository.getFetchUrl() );
         }
 
         return consumer.getRemoteInfoScmResult();
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
index 22dbb4aaf..c065391a0 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.remoteinfo;
  */
 
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.HashMap;
@@ -50,11 +49,10 @@ public class GitRemoteInfoConsumer
     //
     // ----------------------------------------------------------------------
 
-    public GitRemoteInfoConsumer( ScmLogger logger, String commandLine )
+    public GitRemoteInfoConsumer( String commandLine )
     {
-        super( logger );
         this.remoteInfoScmResult =
-            new RemoteInfoScmResult( commandLine, new HashMap<String, String>(), new HashMap<String, String>() );
+            new RemoteInfoScmResult( commandLine, new HashMap<>(), new HashMap<>() );
     }
 
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
index 604cfe404..7178a2f87 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
@@ -56,13 +56,13 @@ public class GitRemoveCommand
 
         Commandline cl = createCommandLine( fileSet.getBasedir(), fileSet.getFileList() );
 
-        GitRemoveConsumer consumer = new GitRemoveConsumer( getLogger() );
+        GitRemoveConsumer consumer = new GitRemoveConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
         int exitCode;
 
-        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr );
         if ( exitCode != 0 )
         {
             return new RemoveScmResult( cl.toString(), "The git command failed.", stderr.getOutput(), false );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
index 9c623abe3..c8c8882a9 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -44,15 +43,6 @@ public class GitRemoveConsumer
 
     private final List<ScmFile> removedFiles = new ArrayList<>();
 
-    // ----------------------------------------------------------------------
-    //
-    // ----------------------------------------------------------------------
-
-    public GitRemoveConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
diff --git a/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 b/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
index 694f8628a..c73e3f3b2 100644
--- a/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
+++ b/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
@@ -23,7 +23,6 @@ import java.net.URI;
 
 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;
@@ -32,6 +31,7 @@ import org.apache.maven.scm.provider.git.gitexe.command.GitCommandLineUtils;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
+import org.slf4j.Logger;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
@@ -48,21 +48,21 @@ public class GitStatusCommand
         int exitCode;
         CommandLineUtils.StringStreamConsumer stderr;
 
-        URI relativeRepositoryPath = getRelativeCWD( this, fileSet );
+        URI relativeRepositoryPath = getRelativeCWD( logger, fileSet );
 
         Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet );
 
-        GitStatusConsumer consumer = new GitStatusConsumer( getLogger(), fileSet.getBasedir(), relativeRepositoryPath );
+        GitStatusConsumer consumer = new GitStatusConsumer( fileSet.getBasedir(), relativeRepositoryPath );
 
         stderr = new CommandLineUtils.StringStreamConsumer();
 
-        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( cl, consumer, stderr );
         if ( exitCode != 0 )
         {
             // git-status returns non-zero if nothing to do
-            if ( getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                getLogger().info( "nothing added to commit but untracked files present (use \"git add\" to track)" );
+                logger.info( "nothing added to commit but untracked files present (use \"git add\" to track)" );
             }
         }
 
@@ -76,12 +76,12 @@ public class GitStatusCommand
     /**
      * Get the dir relative to the repository root.
      * 
-     * @param caller the caller command.
+     * @param logger the caller command logger.
      * @param fileSet in which subdir to execute.
      * @return the relative URI.
      * @throws ScmException if execute() fails.
      */
-    public static URI getRelativeCWD( AbstractCommand caller, ScmFileSet fileSet )
+    public static URI getRelativeCWD( Logger logger, ScmFileSet fileSet )
         throws ScmException
     {
         Commandline clRevparse = createRevparseShowPrefix( fileSet );
@@ -91,13 +91,13 @@ public class GitStatusCommand
 
         URI relativeRepositoryPath = null;
 
-        int exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, caller.getLogger() );
+        int exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr );
         if ( exitCode != 0 )
         {
             // git-status returns non-zero if nothing to do
-            if ( caller.getLogger().isInfoEnabled() )
+            if ( logger.isInfoEnabled() )
             {
-                caller.getLogger().info( "Could not resolve prefix" );
+                logger.info( "Could not resolve prefix" );
             }
         }
         else
diff --git a/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 b/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
index 11342de72..a575527e4 100644
--- a/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
+++ b/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
@@ -32,7 +32,6 @@ 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.apache.maven.scm.util.AbstractConsumer;
 
 /**
@@ -62,7 +61,7 @@ public class GitStatusConsumer
      */
     private static final Pattern RENAMED_PATTERN = Pattern.compile( "^R  (.*) -> (.*)$" );
 
-    private File workingDirectory;
+    private final File workingDirectory;
 
     private ScmFileSet scmFileSet;
 
@@ -80,12 +79,10 @@ public class GitStatusConsumer
     /**
      * Consumer when workingDirectory and repositoryRootDirectory are the same
      * 
-     * @param logger the logger
      * @param workingDirectory the working directory
      */
-    public GitStatusConsumer( ScmLogger logger, File workingDirectory )
+    public GitStatusConsumer( File workingDirectory )
     {
-        super( logger );
         this.workingDirectory = workingDirectory;
     }
 
@@ -96,15 +93,14 @@ public class GitStatusConsumer
      * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
      * </pre>
      * 
-     * @param logger the logger
      * @param workingDirectory the working directory
      * @param relativeRepositoryPath the working directory relative to the repository root
      * @since 1.9
      * @see GitStatusCommand#createRevparseShowPrefix(ScmFileSet)
      */
-    public GitStatusConsumer( ScmLogger logger, File workingDirectory, URI relativeRepositoryPath )
+    public GitStatusConsumer( File workingDirectory, URI relativeRepositoryPath )
     {
-        this( logger, workingDirectory );
+        this( workingDirectory );
         this.relativeRepositoryPath = relativeRepositoryPath;
     }
 
@@ -115,15 +111,14 @@ public class GitStatusConsumer
      * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
      * </pre>
      *
-     * @param logger the logger
      * @param workingDirectory the working directory
      * @param scmFileSet fileset with includes and excludes
      * @since 1.11.0
      * @see GitStatusCommand#createRevparseShowPrefix(ScmFileSet)
      */
-    public GitStatusConsumer( ScmLogger logger, File workingDirectory, ScmFileSet scmFileSet )
+    public GitStatusConsumer( File workingDirectory, ScmFileSet scmFileSet )
     {
-        this( logger, workingDirectory );
+        this( workingDirectory );
         this.scmFileSet = scmFileSet;
     }
 
@@ -134,17 +129,16 @@ public class GitStatusConsumer
      * URI.create( repositoryRoot ).relativize( fileSet.getBasedir().toURI() )
      * </pre>
      *
-     * @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#createRevparseShowPrefix(ScmFileSet)
      */
-    public GitStatusConsumer( ScmLogger logger, File workingDirectory, URI relativeRepositoryPath,
+    public GitStatusConsumer( File workingDirectory, URI relativeRepositoryPath,
                               ScmFileSet scmFileSet )
     {
-        this( logger, workingDirectory, scmFileSet );
+        this( workingDirectory, scmFileSet );
         this.relativeRepositoryPath = relativeRepositoryPath;
     }
 
diff --git a/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 b/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
index 96091247b..a025b30db 100644
--- a/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
+++ b/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
@@ -96,7 +96,7 @@ public class GitTagCommand
 
             Commandline clTag = createCommandLine( repository, fileSet.getBasedir(), tag, messageFile, sign );
 
-            exitCode = GitCommandLineUtils.execute( clTag, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clTag, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new TagScmResult( clTag.toString(), "The git-tag command failed.", stderr.getOutput(), false );
@@ -107,7 +107,7 @@ public class GitTagCommand
                 // and now push the tag to the configured upstream repository
                 Commandline clPush = createPushCommandLine( repository, fileSet, tag );
     
-                exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr, getLogger() );
+                exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr );
                 if ( exitCode != 0 )
                 {
                     return new TagScmResult( clPush.toString(), "The git-push command failed.", stderr.getOutput(),
@@ -117,11 +117,11 @@ public class GitTagCommand
             
             // plus search for the tagged files
             GitListConsumer listConsumer =
-                new GitListConsumer( getLogger(), fileSet.getBasedir(), ScmFileStatus.TAGGED );
+                new GitListConsumer( fileSet.getBasedir(), ScmFileStatus.TAGGED );
 
             Commandline clList = GitListCommand.createCommandLine( repository, fileSet.getBasedir() );
 
-            exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clList, listConsumer, stderr );
             if ( exitCode != 0 )
             {
                 return new CheckOutScmResult( clList.toString(), "The git-ls-files command failed.",
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/untag/GitUntagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/untag/GitUntagCommand.java
index 31e15435a..9735ad947 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/untag/GitUntagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/untag/GitUntagCommand.java
@@ -61,7 +61,7 @@ public class GitUntagCommand
 
         Commandline clTag = createCommandLine( repository, fileSet.getBasedir(), tag );
 
-        exitCode = GitCommandLineUtils.execute( clTag, stdout, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clTag, stdout, stderr );
         if ( exitCode != 0 )
         {
             return new UntagScmResult( clTag.toString(), "The git-tag command failed.", stderr.getOutput(), false );
@@ -72,7 +72,7 @@ public class GitUntagCommand
             // and now push the tag to the configured upstream repository
             Commandline clPush = createPushCommandLine( repository, fileSet, tag );
 
-            exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr, getLogger() );
+            exitCode = GitCommandLineUtils.execute( clPush, stdout, stderr );
             if ( exitCode != 0 )
             {
                 return new UntagScmResult( clPush.toString(), "The git-push command failed.", stderr.getOutput(),
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
index df222f833..271dc54bb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumer.java
@@ -19,7 +19,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.update;
  * under the License.
  */
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -41,17 +40,12 @@ public class GitLatestRevisionCommandConsumer
 
     private String latestRevision;
 
-    public GitLatestRevisionCommandConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
-        if ( getLogger().isDebugEnabled() )
+        if ( logger.isDebugEnabled() )
         {
-            getLogger().debug( "GitLatestRevisionCommandConsumer consumeLine : " + line );
+            logger.debug( "GitLatestRevisionCommandConsumer consumeLine : " + line );
         }
         if ( line == null || StringUtils.isEmpty( line ) )
         {
diff --git a/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 b/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
index 68e66a4b0..794e450ac 100644
--- a/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
+++ b/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
@@ -69,8 +69,8 @@ public class GitUpdateCommand
 
         // fir we need to get the current reversion
         Commandline clRev = createLatestRevisionCommandLine( repository, fileSet.getBasedir(), scmVersion );
-        GitLatestRevisionCommandConsumer consumerRev = new GitLatestRevisionCommandConsumer( getLogger() );
-        exitCode = GitCommandLineUtils.execute( clRev, consumerRev, stderr, getLogger() );
+        GitLatestRevisionCommandConsumer consumerRev = new GitLatestRevisionCommandConsumer();
+        exitCode = GitCommandLineUtils.execute( clRev, consumerRev, stderr );
         if ( exitCode != 0 )
         {
             return new UpdateScmResult( clRev.toString(), "The git-log command failed.",
@@ -79,7 +79,7 @@ public class GitUpdateCommand
         String origSha1 = consumerRev.getLatestRevision();
 
         Commandline cl = createCommandLine( repository, fileSet.getBasedir(), scmVersion );
-        exitCode = GitCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( cl, stdout, stderr );
         if ( exitCode != 0 )
         {
             return new UpdateScmResult( cl.toString(), "The git-pull command failed.",
@@ -87,9 +87,9 @@ public class GitUpdateCommand
         }
 
         // we also need to log exactly what has been updated
-        GitDiffRawConsumer diffRawConsumer = new GitDiffRawConsumer( getLogger() );
+        GitDiffRawConsumer diffRawConsumer = new GitDiffRawConsumer();
         Commandline clDiffRaw = GitDiffCommand.createDiffRawCommandLine( fileSet.getBasedir(), origSha1 );
-        exitCode = GitCommandLineUtils.execute( clDiffRaw, diffRawConsumer, stderr, getLogger() );
+        exitCode = GitCommandLineUtils.execute( clDiffRaw, diffRawConsumer, stderr );
         if ( exitCode != 0 )
         {
             return new UpdateScmResult( clDiffRaw.toString(), "The git-diff --raw command failed.",
@@ -98,8 +98,8 @@ public class GitUpdateCommand
 
 
         // now let's get the latest version
-        consumerRev = new GitLatestRevisionCommandConsumer( getLogger() );
-        exitCode = GitCommandLineUtils.execute( clRev, consumerRev, stderr, getLogger() );
+        consumerRev = new GitLatestRevisionCommandConsumer();
+        exitCode = GitCommandLineUtils.execute( clRev, consumerRev, stderr );
         if ( exitCode != 0 )
         {
             return new UpdateScmResult( clRev.toString(), "The git-log command failed.",
@@ -113,10 +113,7 @@ public class GitUpdateCommand
     /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
-        GitChangeLogCommand changelogCmd = new GitChangeLogCommand();
-        changelogCmd.setLogger( getLogger() );
-
-        return changelogCmd;
+        return new GitChangeLogCommand();
     }
 
     /**
diff --git a/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 b/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
index 82b034901..a17713813 100644
--- a/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
+++ b/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
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.blame;
  */
 
 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 org.junit.Assert;
@@ -178,7 +177,7 @@ public class GitBlameConsumerTest
      */
     private GitBlameConsumer consumeFile( String fileName ) throws IOException
     {
-        GitBlameConsumer consumer = new GitBlameConsumer( new DefaultLog() );
+        GitBlameConsumer consumer = new GitBlameConsumer();
 
         File f = getTestFile( fileName );
 
diff --git a/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 b/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
index e28bf71ac..6231071b1 100644
--- a/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
+++ b/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
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 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;
@@ -56,7 +55,7 @@ public class GitChangeLogConsumerTest
         assertTrue( matcher.matches() );
         assertEquals("2007-11-24 01:13:10 +0100", matcher.group( 1 ));
 
-        GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null );
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( null );
 
         File f = getTestFile( "/src/test/resources/git/changelog/gitwhatchanged.gitlog" );
 
@@ -105,7 +104,7 @@ public class GitChangeLogConsumerTest
     public void testConsumer2()
         throws Exception
     {
-        GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null );
+        GitChangeLogConsumer consumer = new GitChangeLogConsumer( null );
 
         File f = getTestFile( "/src/test/resources/git/changelog/gitwhatchanged2.gitlog" );
 
diff --git a/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 b/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
index 71d2724f6..40d44adef 100644
--- a/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
+++ b/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
@@ -6,7 +6,6 @@ import java.io.Reader;
 import java.util.List;
 
 import org.apache.maven.scm.ScmFile;
-import org.apache.maven.scm.log.DefaultLog;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
 
@@ -56,7 +55,7 @@ public class GitDiffRawConsumerTest
     private GitDiffRawConsumer buildGitDiffRawConsumer(String fileName)
         throws Exception
     {
-        GitDiffRawConsumer consumer = new GitDiffRawConsumer( new DefaultLog() );
+        GitDiffRawConsumer consumer = new GitDiffRawConsumer();
 
         File f = getTestFile( fileName );
         Reader reader = ReaderFactory.newReader( f, "UTF-8" );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
index 90bf07ff0..df02e5325 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoConsumerTest.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.remoteinfo;
  */
 
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
-import org.apache.maven.scm.log.DefaultLog;
 import org.codehaus.plexus.PlexusTestCase;
 
 /**
@@ -32,7 +31,7 @@ public class GitRemoteInfoConsumerTest
 
     public void testConsumerRemoteInfo()
     {
-        GitRemoteInfoConsumer consumer = new GitRemoteInfoConsumer( new DefaultLog(), null );
+        GitRemoteInfoConsumer consumer = new GitRemoteInfoConsumer( null );
 
         consumer.consumeLine( "344581899752998038a74989142221ae08c381bc	HEAD" );
         consumer.consumeLine( "344581899752998038a74989142221ae08c381bc	refs/heads/master" );
diff --git a/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 b/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
index 7e9a36428..6b5fd3741 100644
--- a/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
+++ b/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
@@ -21,8 +21,6 @@ package org.apache.maven.scm.provider.git.gitexe.command.remove;
 
 import org.apache.maven.scm.ScmFile;
 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;
 
@@ -38,7 +36,7 @@ public class GitRemoveConsumerTest
     
     public void testConsumerRemovedFile() 
     {
-        GitRemoveConsumer consumer = new GitRemoveConsumer( new DefaultLog() );
+        GitRemoveConsumer consumer = new GitRemoveConsumer();
         
         consumer.consumeLine( "rm 'project.xml'" );
         
@@ -51,7 +49,7 @@ public class GitRemoveConsumerTest
     public void testLog1Consumer()
     throws Exception
     {
-        GitRemoveConsumer consumer = new GitRemoveConsumer( new DefaultLog() );
+        GitRemoveConsumer consumer = new GitRemoveConsumer();
 
         File f = getTestFile( "/src/test/resources/git/remove/gitrm.gitlog" );
 
@@ -68,7 +66,7 @@ public class GitRemoveConsumerTest
     public void testEmptyLogConsumer()
     throws Exception
     {
-        GitRemoveConsumer consumer = new GitRemoveConsumer( new DefaultLog() );
+        GitRemoveConsumer consumer = new GitRemoveConsumer();
 
         File f = getTestFile( "/src/test/resources/git/remove/gitrm-empty.gitlog" );
 
diff --git a/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 b/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
index 1ce2a9635..f206589df 100644
--- a/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
+++ b/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
@@ -32,7 +32,6 @@ import org.apache.commons.io.FileUtils;
 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;
 
 /**
@@ -51,7 +50,7 @@ public class GitStatusConsumerTest
     private List<ScmFile> getChangedFiles( File gitlog, URI relativeRepoPath )
         throws IOException
     {
-        GitStatusConsumer consumer = new GitStatusConsumer( new DefaultLog(), null, relativeRepoPath );
+        GitStatusConsumer consumer = new GitStatusConsumer( null, relativeRepoPath );
 
         try ( BufferedReader r = new BufferedReader(
                 new InputStreamReader ( new FileInputStream( gitlog ), StandardCharsets.UTF_8 ) ) )
@@ -69,7 +68,7 @@ public class GitStatusConsumerTest
 
     private List<ScmFile> getChangedFiles( String line, File workingDirectory )
     {
-        GitStatusConsumer consumer = new GitStatusConsumer( new DefaultLog(), workingDirectory );
+        GitStatusConsumer consumer = new GitStatusConsumer( workingDirectory );
 
         consumer.consumeLine( line );
 
@@ -78,7 +77,7 @@ public class GitStatusConsumerTest
 
     private List<ScmFile> getChangedFiles( String line, File workingDirectory, URI relativeRepoPath )
     {
-        GitStatusConsumer consumer = new GitStatusConsumer( new DefaultLog(), workingDirectory, relativeRepoPath );
+        GitStatusConsumer consumer = new GitStatusConsumer( workingDirectory, relativeRepoPath );
 
         consumer.consumeLine( line );
 
@@ -89,7 +88,7 @@ public class GitStatusConsumerTest
                                            ScmFileSet scmFileSet )
     {
         GitStatusConsumer consumer =
-            new GitStatusConsumer( new DefaultLog(), workingDirectory, relativeRepoPath, scmFileSet );
+            new GitStatusConsumer( workingDirectory, relativeRepoPath, scmFileSet );
 
         consumer.consumeLine( line );
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
index ec9140622..3c7b093df 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitLatestRevisionCommandConsumerTest.java
@@ -4,7 +4,6 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.Reader;
 
-import org.apache.maven.scm.log.DefaultLog;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
 
@@ -53,7 +52,7 @@ public class GitLatestRevisionCommandConsumerTest
     private GitLatestRevisionCommandConsumer buildGitLatestRevisionCommandConsumer( String fileName )
         throws Exception
     {
-        GitLatestRevisionCommandConsumer consumer = new GitLatestRevisionCommandConsumer( new DefaultLog() );
+        GitLatestRevisionCommandConsumer consumer = new GitLatestRevisionCommandConsumer();
 
         BufferedReader r = getGitLogBufferedReader( fileName );
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
index c3f4885ae..4abcc1cf6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
@@ -55,6 +55,10 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>jcl-over-slf4j</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitTransportConfigCallback.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitTransportConfigCallback.java
index 07aa961c0..033779346 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitTransportConfigCallback.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitTransportConfigCallback.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.git.jgit.command;
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.eclipse.jgit.api.TransportConfigCallback;
 import org.eclipse.jgit.transport.JschConfigSessionFactory;
@@ -32,6 +31,7 @@ import org.eclipse.jgit.transport.SshTransport;
 import org.eclipse.jgit.transport.Transport;
 import org.eclipse.jgit.util.FS;
 import org.eclipse.jgit.util.StringUtils;
+import org.slf4j.Logger;
 
 /**
  * Implementation of {@link TransportConfigCallback} which adds
@@ -41,7 +41,7 @@ public class JGitTransportConfigCallback implements TransportConfigCallback
 {
     private SshSessionFactory sshSessionFactory = null;
 
-    public JGitTransportConfigCallback( GitScmProviderRepository repo, ScmLogger logger )
+    public JGitTransportConfigCallback( GitScmProviderRepository repo, Logger logger )
     {
         if ( repo.getFetchInfo().getProtocol().equals( "ssh" ) )
         {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
index db8fc52a9..dde42d764 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.git.jgit.command;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
 import org.apache.maven.scm.util.FilenameUtils;
 import org.codehaus.plexus.util.StringUtils;
@@ -61,6 +60,8 @@ import org.eclipse.jgit.transport.RefSpec;
 import org.eclipse.jgit.transport.RemoteRefUpdate;
 import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
 import org.eclipse.jgit.util.io.DisabledOutputStream;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.File;
 import java.io.IOException;
@@ -84,6 +85,7 @@ import java.util.Set;
  */
 public class JGitUtils
 {
+    private static final Logger LOGGER = LoggerFactory.getLogger( JGitUtils.class );
 
     private JGitUtils()
     {
@@ -115,10 +117,9 @@ public class JGitUtils
     /**
      * Construct a logging ProgressMonitor for all JGit operations.
      *
-     * @param logger
      * @return a ProgressMonitor for use
      */
-    public static ProgressMonitor getMonitor( ScmLogger logger )
+    public static ProgressMonitor getMonitor()
     {
         // X TODO write an own ProgressMonitor which logs to ScmLogger!
         return new TextProgressMonitor();
@@ -130,13 +131,12 @@ public class JGitUtils
      * <ul><li>push url</li> <li>fetch url</li></ul>
      * <p>
      *
-     * @param logger     used to log some details
      * @param git        the instance to configure (only in memory, not saved)
      * @param repository the repo config to be used
      * @return {@link CredentialsProvider} in case there are credentials
      *         informations configured in the repository.
      */
-    public static CredentialsProvider prepareSession( ScmLogger logger, Git git, GitScmProviderRepository repository )
+    public static CredentialsProvider prepareSession( Git git, GitScmProviderRepository repository )
     {
         StoredConfig config = git.getRepository().getConfig();
         config.setString( "remote", "origin", "url", repository.getFetchUrl() );
@@ -157,8 +157,8 @@ public class JGitUtils
             // TODO use a logger
             System.out.println( "Ignore UnsupportedEncodingException when trying to encode password" );
         }
-        logger.info( "fetch url: " + repository.getFetchUrl().replace( password, "******" ) );
-        logger.info( "push url: " + repository.getPushUrl().replace( password, "******" ) );
+        LOGGER.info( "fetch url: " + repository.getFetchUrl().replace( password, "******" ) );
+        LOGGER.info( "push url: " + repository.getPushUrl().replace( password, "******" ) );
         return getCredentials( repository );
     }
 
@@ -184,12 +184,12 @@ public class JGitUtils
         return null;
     }
 
-    public static Iterable<PushResult> push( ScmLogger logger, Git git, GitScmProviderRepository repo, RefSpec refSpec )
+    public static Iterable<PushResult> push( Git git, GitScmProviderRepository repo, RefSpec refSpec )
         throws GitAPIException, InvalidRemoteException, TransportException
     {
-        CredentialsProvider credentials = JGitUtils.prepareSession( logger, git, repo );
+        CredentialsProvider credentials = prepareSession( git, repo );
         PushCommand command = git.push().setRefSpecs( refSpec ).setCredentialsProvider( credentials )
-                .setTransportConfigCallback( new JGitTransportConfigCallback( repo, logger ) );
+                .setTransportConfigCallback( new JGitTransportConfigCallback( repo, LOGGER ) );
 
         Iterable<PushResult> pushResultList = command.call();
         for ( PushResult pushResult : pushResultList )
@@ -197,7 +197,7 @@ public class JGitUtils
             Collection<RemoteRefUpdate> ru = pushResult.getRemoteUpdates();
             for ( RemoteRefUpdate remoteRefUpdate : ru )
             {
-                logger.info( remoteRefUpdate.getStatus() + " - " + remoteRefUpdate.toString() );
+                LOGGER.info( remoteRefUpdate.getStatus() + " - " + remoteRefUpdate );
             }
         }
         return pushResultList;
@@ -233,7 +233,7 @@ public class JGitUtils
     public static List<ScmFile> getFilesInCommit( Repository repository, RevCommit commit )
         throws MissingObjectException, IncorrectObjectTypeException, CorruptObjectException, IOException
     {
-        List<ScmFile> list = new ArrayList<ScmFile>();
+        List<ScmFile> list = new ArrayList<>();
         if ( JGitUtils.hasCommits( repository ) )
         {
 
@@ -313,13 +313,13 @@ public class JGitUtils
 
         Status status = git.status().call();
 
-        Set<String> allInIndex = new HashSet<String>();
+        Set<String> allInIndex = new HashSet<>();
         allInIndex.addAll( status.getAdded() );
         allInIndex.addAll( status.getChanged() );
 
         // System.out.println("All in index: "+allInIndex.size());
 
-        List<ScmFile> addedFiles = new ArrayList<ScmFile>( allInIndex.size() );
+        List<ScmFile> addedFiles = new ArrayList<>( allInIndex.size() );
 
         // rewrite all detected files to now have status 'checked_in'
         for ( String entry : allInIndex )
@@ -370,7 +370,7 @@ public class JGitUtils
         throws IOException, MissingObjectException, IncorrectObjectTypeException
     {
 
-        List<RevCommit> revs = new ArrayList<RevCommit>();
+        List<RevCommit> revs = new ArrayList<>();
 
         ObjectId fromRevId = fromRev != null ? repo.resolve( fromRev ) : null;
         ObjectId toRevId = toRev != null ? repo.resolve( toRev ) : null;
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
index fd4a7287c..a234cb230 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
@@ -60,11 +60,11 @@ public class JGitAddCommand
 
             List<ScmFile> addedFiles = JGitUtils.addAllFiles( git, fileSet );
 
-            if ( getLogger().isDebugEnabled() )
+            if ( logger.isDebugEnabled() )
             {
                 for ( ScmFile scmFile : addedFiles )
                 {
-                    getLogger().info( "added file: " + scmFile );
+                    logger.info( "added file: " + scmFile );
                 }
             }
 
diff --git a/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 b/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
index 7fd7c3535..b2a016adf 100644
--- a/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
+++ b/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
@@ -79,20 +79,20 @@ public class JGitBranchCommand
         {
             git = JGitUtils.openRepo( fileSet.getBasedir() );
             Ref branchResult = git.branchCreate().setName( branch ).call();
-            getLogger().info( "created [" + branchResult.getName() + "]" );
+            logger.info( "created [" + branchResult.getName() + "]" );
 
-            if ( getLogger().isDebugEnabled() )
+            if ( logger.isDebugEnabled() )
             {
                 for ( String branchName : getShortLocalBranchNames( git ) )
                 {
-                    getLogger().debug( "local branch available: " + branchName );
+                    logger.debug( "local branch available: " + branchName );
                 }
             }
 
             if ( repo.isPushChanges() )
             {
-                getLogger().info( "push branch [" + branch + "] to remote..." );
-                JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_HEADS
+                logger.info( "push branch [" + branch + "] to remote..." );
+                JGitUtils.push( git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_HEADS
                     + branch ) );
             }
 
@@ -106,7 +106,7 @@ public class JGitBranchCommand
             walk.setRecursive( true );
             walk.addTree( commit.getTree() );
 
-            List<ScmFile> files = new ArrayList<ScmFile>();
+            List<ScmFile> files = new ArrayList<>();
             while ( walk.next() )
             {
                 files.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) );
@@ -136,7 +136,7 @@ public class JGitBranchCommand
     public static Set<String> getShortLocalBranchNames( Git git )
         throws GitAPIException
     {
-        Set<String> branches = new HashSet<String>();
+        Set<String> branches = new HashSet<>();
         Iterator<Ref> iter = git.branchList().call().iterator();
         while ( iter.hasNext() )
         {
diff --git a/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 b/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
index 2cafeb2da..edef9d969 100644
--- a/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
+++ b/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
@@ -125,7 +125,7 @@ public class JGitChangeLogCommand
             List<ChangeEntry> gitChanges =
                 this.whatchanged( git.getRepository(), null, startRev, endRev, startDate, endDate, -1 );
 
-            List<ChangeSet> modifications = new ArrayList<ChangeSet>( gitChanges.size() );
+            List<ChangeSet> modifications = new ArrayList<>( gitChanges.size() );
 
             for ( ChangeEntry change : gitChanges )
             {
@@ -161,7 +161,7 @@ public class JGitChangeLogCommand
         throws MissingObjectException, IncorrectObjectTypeException, IOException
     {
         List<RevCommit> revs = JGitUtils.getRevCommits( repo, sortings, fromRev, toRev, fromDate, toDate, maxLines );
-        List<ChangeEntry> changes = new ArrayList<ChangeEntry>( revs.size() );
+        List<ChangeEntry> changes = new ArrayList<>( revs.size() );
 
         if ( fromRev != null && fromRev.equals( toRev ) )
         {
diff --git a/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 b/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
index 16d303b4b..f2f0cffad 100644
--- a/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
+++ b/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
@@ -100,7 +100,7 @@ public class JGitCheckInCommand
                 if ( changeds.isEmpty() )
                 {
                     // warn there is nothing to add
-                    getLogger().warn( "there are no files to be added" );
+                    logger.warn( "there are no files to be added" );
                     doCommit = false;
                 }
                 else
@@ -108,7 +108,7 @@ public class JGitCheckInCommand
                     AddCommand add = git.add();
                     for ( String changed : changeds )
                     {
-                        getLogger().debug( "add manualy: " + changed );
+                        logger.debug( "add manualy: " + changed );
                         add.addFilepattern( changed );
                         doCommit = true;
                     }
@@ -126,13 +126,13 @@ public class JGitCheckInCommand
                 command.setCommitter( committer.name, committer.email );
                 RevCommit commitRev = command.call();
 
-                getLogger().info( "commit done: " + commitRev.getShortMessage() );
+                logger.info( "commit done: " + commitRev.getShortMessage() );
                 checkedInFiles = JGitUtils.getFilesInCommit( git.getRepository(), commitRev );
-                if ( getLogger().isDebugEnabled() )
+                if ( logger.isDebugEnabled() )
                 {
                     for ( ScmFile scmFile : checkedInFiles )
                     {
-                        getLogger().debug( "in commit: " + scmFile );
+                        logger.debug( "in commit: " + scmFile );
                     }
                 }
             }
@@ -145,8 +145,8 @@ public class JGitCheckInCommand
                     branch = git.getRepository().getBranch();
                 }
                 RefSpec refSpec = new RefSpec( Constants.R_HEADS + branch + ":" + Constants.R_HEADS + branch );
-                getLogger().info( "push changes to remote... " + refSpec.toString() );
-                JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, refSpec );
+                logger.info( "push changes to remote... " + refSpec );
+                JGitUtils.push( git, (GitScmProviderRepository) repo, refSpec );
             }
 
             return new CheckInScmResult( "JGit checkin", checkedInFiles );
@@ -273,7 +273,7 @@ public class JGitCheckInCommand
         }
         catch ( UnknownHostException e )
         {
-            getLogger().warn( "failed to resolve hostname to create mail address, "
+            logger.warn( "failed to resolve hostname to create mail address, "
                                   + "defaulting to 'maven-scm-provider-jgit'" );
             hostname = "maven-scm-provider-jgit";
         }
diff --git a/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 b/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
index 9f77adec0..d7646fda8 100644
--- a/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
+++ b/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
@@ -85,7 +85,7 @@ public class JGitCheckOutCommand
         try
         {
 
-            ProgressMonitor monitor = JGitUtils.getMonitor( getLogger() );
+            ProgressMonitor monitor = JGitUtils.getMonitor();
 
             String branch = version != null ? version.getName() : null;
 
@@ -94,7 +94,7 @@ public class JGitCheckOutCommand
                 branch = Constants.MASTER;
             }
 
-            getLogger().debug( "try checkout of branch: " + branch );
+            logger.debug( "try checkout of branch: " + branch );
 
             if ( !fileSet.getBasedir().exists() || !( new File( fileSet.getBasedir(), ".git" ).exists() ) )
             {
@@ -111,13 +111,13 @@ public class JGitCheckOutCommand
 
                 // no git repo seems to exist, let's clone the original repo
                 CredentialsProvider credentials = JGitUtils.getCredentials( (GitScmProviderRepository) repo );
-                getLogger().info( "cloning [" + branch + "] to " + fileSet.getBasedir() );
+                logger.info( "cloning [" + branch + "] to " + fileSet.getBasedir() );
                 CloneCommand command = Git.cloneRepository().setURI( repository.getFetchUrl() );
 
                 command.setCredentialsProvider( credentials ).setBranch( branch ).setDirectory( fileSet.getBasedir() );
 
                 TransportConfigCallback transportConfigCallback = new JGitTransportConfigCallback(
-                        (GitScmProviderRepository) repo, getLogger() );
+                        (GitScmProviderRepository) repo, logger );
                 command.setTransportConfigCallback( transportConfigCallback );
 
                 command.setProgressMonitor( monitor );
@@ -125,7 +125,7 @@ public class JGitCheckOutCommand
             }
 
             JGitRemoteInfoCommand remoteInfoCommand = new JGitRemoteInfoCommand();
-            remoteInfoCommand.setLogger( getLogger() );
+
             RemoteInfoScmResult result = remoteInfoCommand.executeRemoteInfoCommand( repository, fileSet, null );
 
             if ( git == null )
@@ -138,9 +138,9 @@ public class JGitCheckOutCommand
                 && result.getBranches().size() > 0 )
             {
                 // git repo exists, so we must git-pull the changes
-                CredentialsProvider credentials = JGitUtils.prepareSession( getLogger(), git, repository );
+                CredentialsProvider credentials = JGitUtils.prepareSession( git, repository );
                 TransportConfigCallback transportConfigCallback = new JGitTransportConfigCallback(
-                        (GitScmProviderRepository) repo, getLogger() );
+                        (GitScmProviderRepository) repo, logger );
 
                 if ( version != null && StringUtils.isNotEmpty( version.getName() ) && ( version instanceof ScmTag ) )
                 {
@@ -149,7 +149,7 @@ public class JGitCheckOutCommand
                     // 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
-                    getLogger().debug( "fetch..." );
+                    logger.debug( "fetch..." );
                     FetchCommand command = git.fetch().setCredentialsProvider( credentials )
                             .setProgressMonitor( monitor );
                     command.setTransportConfigCallback( transportConfigCallback );
@@ -158,7 +158,7 @@ public class JGitCheckOutCommand
                 }
                 else
                 {
-                    getLogger().debug( "pull..." );
+                    logger.debug( "pull..." );
                     PullCommand command = git.pull().setCredentialsProvider( credentials )
                             .setProgressMonitor( monitor );
                     command.setTransportConfigCallback( transportConfigCallback );
@@ -169,17 +169,17 @@ public class JGitCheckOutCommand
             Set<String> localBranchNames = JGitBranchCommand.getShortLocalBranchNames( git );
             if ( version instanceof ScmTag )
             {
-                getLogger().info( "checkout tag [" + branch + "] at " + fileSet.getBasedir() );
+                logger.info( "checkout tag [" + branch + "] at " + fileSet.getBasedir() );
                 git.checkout().setName( branch ).call();
             }
             else if ( localBranchNames.contains( branch ) )
             {
-                getLogger().info( "checkout [" + branch + "] at " + fileSet.getBasedir() );
+                logger.info( "checkout [" + branch + "] at " + fileSet.getBasedir() );
                 git.checkout().setName( branch ).call();
             }
             else
             {
-                getLogger().info( "checkout remote branch [" + branch + "] at " + fileSet.getBasedir() );
+                logger.info( "checkout remote branch [" + branch + "] at " + fileSet.getBasedir() );
                 git.checkout().setName( branch ).setCreateBranch( true ).setStartPoint( Constants.DEFAULT_REMOTE_NAME
                                                                                             + "/" + branch ).call();
             }
@@ -193,14 +193,14 @@ public class JGitCheckOutCommand
             walk.setRecursive( true );
             walk.addTree( commit.getTree() );
 
-            List<ScmFile> listedFiles = new ArrayList<ScmFile>();
+            List<ScmFile> listedFiles = new ArrayList<>();
             while ( walk.next() )
             {
                 listedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) );
             }
             walk.close();
 
-            getLogger().debug( "current branch: " + git.getRepository().getBranch() );
+            logger.debug( "current branch: " + git.getRepository().getBranch() );
 
             return new CheckOutScmResult( "checkout via JGit", listedFiles );
         }
diff --git a/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 b/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
index 56016708b..38ba75850 100644
--- a/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
+++ b/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
@@ -100,7 +100,7 @@ public class JGitDiffCommand
 
         out.flush();
 
-        GitDiffConsumer consumer = new GitDiffConsumer( getLogger(), null );
+        GitDiffConsumer consumer = new GitDiffConsumer( null );
         String fullDiff = out.toString();
         out.close();
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
index 220e9ce74..2b85b8d4b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
@@ -59,16 +59,16 @@ public class JGitListCommand
         {
             git = JGitUtils.openRepo( fileSet.getBasedir() );
             CredentialsProvider credentials =
-                JGitUtils.prepareSession( getLogger(), git, (GitScmProviderRepository) repo );
+                JGitUtils.prepareSession( git, (GitScmProviderRepository) repo );
 
-            List<ScmFile> list = new ArrayList<ScmFile>();
+            List<ScmFile> list = new ArrayList<>();
             Collection<Ref> lsResult = git.lsRemote().setCredentialsProvider( credentials )
                     .setTransportConfigCallback(
-                            new JGitTransportConfigCallback( (GitScmProviderRepository) repo, getLogger() ) )
+                            new JGitTransportConfigCallback( (GitScmProviderRepository) repo, logger ) )
                     .call();
             for ( Ref ref : lsResult )
             {
-                getLogger().debug( ref.getObjectId().getName() + "  " + ref.getTarget().getName() );
+                logger.debug( ref.getObjectId().getName() + "  " + ref.getTarget().getName() );
                 list.add( new ScmFile( ref.getName(), ScmFileStatus.CHECKED_IN ) );
             }
 
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
index 6a22e332f..833822fd4 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
@@ -63,16 +63,16 @@ public class JGitRemoteInfoCommand
 
             LsRemoteCommand lsCommand =
                 git.lsRemote().setRemote( repo.getPushUrl() ).setCredentialsProvider( credentials )
-                        .setTransportConfigCallback( new JGitTransportConfigCallback( repo, getLogger() ) );
+                        .setTransportConfigCallback( new JGitTransportConfigCallback( repo, logger ) );
 
-            Map<String, String> tag = new HashMap<String, String>();
+            Map<String, String> tag = new HashMap<>();
             Collection<Ref> allTags = lsCommand.setHeads( false ).setTags( true ).call();
             for ( Ref ref : allTags )
             {
                 tag.put( Repository.shortenRefName( ref.getName() ), ref.getObjectId().name() );
             }
 
-            Map<String, String> heads = new HashMap<String, String>();
+            Map<String, String> heads = new HashMap<>();
             Collection<Ref> allHeads = lsCommand.setHeads( true ).setTags( false ).call();
             for ( Ref ref : allHeads )
             {
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
index edc7aa182..1c7fcf679 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
@@ -71,7 +71,7 @@ public class JGitStatusCommand
 
     private List<ScmFile> getFileStati( Status status )
     {
-        List<ScmFile> all = new ArrayList<ScmFile>();
+        List<ScmFile> all = new ArrayList<>();
         addAsScmFiles( all, status.getAdded(), ScmFileStatus.ADDED );
         addAsScmFiles( all, status.getChanged(), ScmFileStatus.UPDATED );
         addAsScmFiles( all, status.getConflicting(), ScmFileStatus.CONFLICT );
diff --git a/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 b/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
index 2083a4b12..f4659ef21 100644
--- a/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
+++ b/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
@@ -89,8 +89,8 @@ public class JGitTagCommand
 
             if ( repo.isPushChanges() )
             {
-                getLogger().info( "push tag [" + escapedTagName + "] to remote..." );
-                JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_TAGS
+                logger.info( "push tag [" + escapedTagName + "] to remote..." );
+                JGitUtils.push( git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_TAGS
                     + escapedTagName ) );
             }
 
@@ -104,7 +104,7 @@ public class JGitTagCommand
             walk.setRecursive( true );
             walk.addTree( commit.getTree() );
 
-            List<ScmFile> taggedFiles = new ArrayList<ScmFile>();
+            List<ScmFile> taggedFiles = new ArrayList<>();
             while ( walk.next() )
             {
                 taggedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/untag/JGitUntagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/untag/JGitUntagCommand.java
index 074f8fbf5..5de923069 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/untag/JGitUntagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/untag/JGitUntagCommand.java
@@ -27,7 +27,6 @@ import org.apache.maven.scm.ScmResult;
 import org.apache.maven.scm.ScmUntagParameters;
 import org.apache.maven.scm.command.untag.AbstractUntagCommand;
 import org.apache.maven.scm.command.untag.UntagScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.git.command.GitCommand;
 import org.apache.maven.scm.provider.git.jgit.command.JGitUtils;
@@ -73,11 +72,10 @@ public class JGitUntagCommand extends AbstractUntagCommand implements GitCommand
                     .setSource( null )
                     .setDestination( Constants.R_TAGS + escapedTagName );
 
-                getLogger().info( "push delete tag [" + escapedTagName + "] to remote..." );
-                ScmLogger logger = getLogger();
+                logger.info( "push delete tag [" + escapedTagName + "] to remote..." );
 
                 Iterable<PushResult> pushResultList
-                        = JGitUtils.push( logger, git, (GitScmProviderRepository) repository, refSpec );
+                        = JGitUtils.push( git, (GitScmProviderRepository) repository, refSpec );
                 if ( logger.isInfoEnabled() )
                 {
                     for ( PushResult pushResult : pushResultList )
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
index 2bfdaf674..ff389ca51 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/pom.xml
@@ -43,6 +43,10 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
   </dependencies>
 
   <build>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
index 921fc095f..1ea133956 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/AbstractSvnScmProvider.java
@@ -69,7 +69,7 @@ public abstract class AbstractSvnScmProvider
 
     private static class ScmUrlParserResult
     {
-        private List<String> messages = new ArrayList<String>();
+        private final List<String> messages = new ArrayList<>();
 
         private ScmProviderRepository repository;
     }
@@ -98,7 +98,7 @@ public abstract class AbstractSvnScmProvider
 
         if ( checkCurrentWorkingDirectoryUrl() )
         {
-            getLogger().debug( "Checking svn info 'URL:' field matches current sources directory" );
+            logger.debug( "Checking svn info 'URL:' field matches current sources directory" );
             try
             {
                 String workingDir = System.getProperty( CURRENT_WORKING_DIRECTORY );
@@ -107,7 +107,7 @@ public abstract class AbstractSvnScmProvider
 
                 String url = findUrlInfoItem( info );
                 String comparison = "'" + url + "' vs. '" + scmSpecificUrl + "'";
-                getLogger().debug( "Comparing : " + comparison );
+                logger.debug( "Comparing : " + comparison );
                 if ( url != null && !url.equals( scmSpecificUrl ) )
                 {
                     result.messages.add( "Scm url does not match the value returned by svn info (" + comparison + ")" );
@@ -138,11 +138,11 @@ public abstract class AbstractSvnScmProvider
         {
             if ( infoItem.getURL() != null )
             {
-                getLogger().debug( "URL found: " + infoItem.getURL() );
+                logger.debug( "URL found: " + infoItem.getURL() );
                 return infoItem.getURL();
             }
         }
-        getLogger().debug( "URL not found (command output=" + infoScmResult.getCommandOutput() + ")" );
+        logger.debug( "URL not found (command output=" + infoScmResult.getCommandOutput() + ")" );
         return null;
     }
 
@@ -186,7 +186,7 @@ public abstract class AbstractSvnScmProvider
      */
     public List<String> validateScmUrl( String scmSpecificUrl, char delimiter )
     {
-        List<String> messages = new ArrayList<String>();
+        List<String> messages = new ArrayList<>();
         try
         {
             makeProviderScmRepository( scmSpecificUrl, delimiter );
@@ -441,8 +441,6 @@ public abstract class AbstractSvnScmProvider
                                         CommandParameters parameters )
         throws ScmException
     {
-        command.setLogger( getLogger() );
-
         return command.execute( repository, fileSet, parameters );
     }
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
index 9b8301b98..81b7b0b85 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svn-commons/src/main/java/org/apache/maven/scm/provider/svn/command/diff/SvnDiffConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.command.diff;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.io.File;
@@ -67,9 +66,9 @@ public class SvnDiffConsumer
 
     private StringBuilder currentDifference;
 
-    private final List<ScmFile> changedFiles = new ArrayList<ScmFile>();
+    private final List<ScmFile> changedFiles = new ArrayList<>();
 
-    private final Map<String, CharSequence> differences = new HashMap<String, CharSequence>();
+    private final Map<String, CharSequence> differences = new HashMap<>();
 
     private final StringBuilder patch = new StringBuilder();
 
@@ -77,9 +76,9 @@ public class SvnDiffConsumer
     //
     // ----------------------------------------------------------------------
 
-    public SvnDiffConsumer( ScmLogger logger, File workingDirectory )
+    public SvnDiffConsumer( File workingDirectory )
     {
-        super( logger );
+        // empty
     }
 
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
index 2b8296e37..e4958f4de 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/pom.xml
@@ -56,6 +56,10 @@
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
 
     <!-- Test -->
     <dependency>
@@ -68,11 +72,6 @@
       <artifactId>org.eclipse.sisu.plexus</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
index 747b24cfd..6c83c81b3 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProvider.java
@@ -210,7 +210,7 @@ public class SvnExeScmProvider
         // 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.
         SvnInfoCommand infoCmd = (SvnInfoCommand) getInfoCommand();
-        infoCmd.setLogger( this.getLogger() );
+
         InfoScmResult result =
             infoCmd.executeInfoCommand( null, new ScmFileSet( new File( "" ), path ), null, false, null );
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
index bbf9f74e8..71aabfb70 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/AbstractFileCheckingConsumer.java
@@ -26,7 +26,6 @@ import java.util.List;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 /**
@@ -44,9 +43,8 @@ public abstract class AbstractFileCheckingConsumer
 
     private boolean filtered;
 
-    public AbstractFileCheckingConsumer( ScmLogger logger, File workingDirectory )
+    public AbstractFileCheckingConsumer( File workingDirectory )
     {
-        super( logger );
         this.workingDirectory = workingDirectory;
     }
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
index d7fb959c0..d85d8f80b 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/SvnCommandLineUtils.java
@@ -25,7 +25,6 @@ import java.io.IOException;
 import java.io.PrintStream;
 import java.util.List;
 
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.provider.svn.util.SvnUtil;
 import org.codehaus.plexus.util.Os;
@@ -34,6 +33,8 @@ import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 import org.codehaus.plexus.util.cli.StreamConsumer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Command line construction utility.
@@ -44,6 +45,8 @@ import org.codehaus.plexus.util.cli.StreamConsumer;
  */
 public final class SvnCommandLineUtils
 {
+    private static final Logger LOGGER = LoggerFactory.getLogger( SvnCommandLineUtils.class );
+
     private SvnCommandLineUtils()
     {
     }
@@ -66,7 +69,7 @@ public final class SvnCommandLineUtils
 
         File targets = File.createTempFile( "maven-scm-", "-targets" );
         PrintStream out = new PrintStream( new FileOutputStream( targets ) );
-        out.print( sb.toString() );
+        out.print( sb );
         out.flush();
         out.close();
 
@@ -141,8 +144,7 @@ public final class SvnCommandLineUtils
         return cl;
     }
 
-    public static int execute( Commandline cl, StreamConsumer consumer, CommandLineUtils.StringStreamConsumer stderr,
-                               ScmLogger logger )
+    public static int execute( Commandline cl, StreamConsumer consumer, CommandLineUtils.StringStreamConsumer stderr )
         throws CommandLineException
     {
         // SCM-482: force English resource bundle
@@ -150,35 +152,35 @@ public final class SvnCommandLineUtils
 
         int exitCode = CommandLineUtils.executeCommandLine( cl, consumer, stderr );
 
-        exitCode = checkIfCleanUpIsNeeded( exitCode, cl, consumer, stderr, logger );
+        exitCode = checkIfCleanUpIsNeeded( exitCode, cl, consumer, stderr );
 
         return exitCode;
     }
 
     public static int execute( Commandline cl, CommandLineUtils.StringStreamConsumer stdout,
-                               CommandLineUtils.StringStreamConsumer stderr, ScmLogger logger )
+                               CommandLineUtils.StringStreamConsumer stderr )
         throws CommandLineException
     {
         int exitCode = CommandLineUtils.executeCommandLine( cl, stdout, stderr );
 
-        exitCode = checkIfCleanUpIsNeeded( exitCode, cl, stdout, stderr, logger );
+        exitCode = checkIfCleanUpIsNeeded( exitCode, cl, stdout, stderr );
 
         return exitCode;
     }
 
     private static int checkIfCleanUpIsNeeded( int exitCode, Commandline cl, StreamConsumer consumer,
-                                               CommandLineUtils.StringStreamConsumer stderr, ScmLogger logger )
+                                               CommandLineUtils.StringStreamConsumer stderr )
         throws CommandLineException
     {
         if ( exitCode != 0 && stderr.getOutput() != null && stderr.getOutput().indexOf( "'svn cleanup'" ) > 0
             && stderr.getOutput().indexOf( "'svn help cleanup'" ) > 0 )
         {
-            if ( logger.isInfoEnabled() )
+            if ( LOGGER.isInfoEnabled() )
             {
-                logger.info( "Svn command failed due to some locks in working copy. We try to run a 'svn cleanup'." );
+                LOGGER.info( "Svn command failed due to some locks in working copy. We try to run a 'svn cleanup'." );
             }
 
-            if ( executeCleanUp( cl.getWorkingDirectory(), consumer, stderr, logger ) == 0 )
+            if ( executeCleanUp( cl.getWorkingDirectory(), consumer, stderr ) == 0 )
             {
                 exitCode = CommandLineUtils.executeCommandLine( cl, consumer, stderr );
             }
@@ -188,13 +190,6 @@ public final class SvnCommandLineUtils
 
     public static int executeCleanUp( File workinDirectory, StreamConsumer stdout, StreamConsumer stderr )
         throws CommandLineException
-    {
-        return executeCleanUp( workinDirectory, stdout, stderr, null );
-    }
-
-    public static int executeCleanUp( File workinDirectory, StreamConsumer stdout, StreamConsumer stderr,
-                                      ScmLogger logger )
-        throws CommandLineException
     {
         Commandline cl = new Commandline();
 
@@ -202,16 +197,13 @@ public final class SvnCommandLineUtils
 
         cl.setWorkingDirectory( workinDirectory.getAbsolutePath() );
 
-        if ( logger != null )
+        if ( LOGGER.isInfoEnabled() )
         {
-            if ( logger.isInfoEnabled() )
-            {
-                logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            LOGGER.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
-                if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
-                {
-                    logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
-                }
+            if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
+            {
+                LOGGER.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
diff --git a/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 b/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
index eb8ced780..227f95ea2 100644
--- a/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
+++ b/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
@@ -62,17 +62,17 @@ public class SvnAddCommand
             cl.createArg().setValue( "config:miscellany:enable-auto-props=no" );
         }
 
-        SvnAddConsumer consumer = new SvnAddConsumer( getLogger() );
+        SvnAddConsumer consumer = new SvnAddConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -80,7 +80,7 @@ public class SvnAddCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
index 237a2bb96..c6be1adf2 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.add;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -36,15 +35,6 @@ public class SvnAddConsumer
 {
     private final List<ScmFile> addedFiles = new ArrayList<>();
 
-    // ----------------------------------------------------------------------
-    //
-    // ----------------------------------------------------------------------
-
-    public SvnAddConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameCommand.java
index fd1650c6c..61778ed5f 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameCommand.java
@@ -52,17 +52,17 @@ public class SvnBlameCommand
     {
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, workingDirectory.getBasedir(), filename );
 
-        SvnBlameConsumer consumer = new SvnBlameConsumer( getLogger() );
+        SvnBlameConsumer consumer = new SvnBlameConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -70,7 +70,7 @@ public class SvnBlameCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
index 8e2f17f22..7aa40d42a 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/blame/SvnBlameConsumer.java
@@ -20,7 +20,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.blame;
  */
 
 import org.apache.maven.scm.command.blame.BlameLine;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.text.ParseException;
@@ -51,14 +50,12 @@ public class SvnBlameConsumer
     private static final Pattern DATE_PATTERN = Pattern.compile( "<date>(.*)T(.*)\\.(.*)Z</date>" );
 
 
-    private SimpleDateFormat dateFormat;
+    private final SimpleDateFormat dateFormat;
 
-    private List<BlameLine> lines = new ArrayList<BlameLine>();
+    private final List<BlameLine> lines = new ArrayList<>();
 
-    public SvnBlameConsumer( ScmLogger logger )
+    public SvnBlameConsumer()
     {
-        super( logger );
-
         dateFormat = new SimpleDateFormat( SVN_TIMESTAMP_PATTERN );
         dateFormat.setTimeZone( TimeZone.getTimeZone( "UTC" ) );
     }
@@ -91,9 +88,9 @@ public class SvnBlameConsumer
             String time = matcher.group( 2 );
             Date dateTime = parseDateTime( date + " " + time );
             lines.add( new BlameLine( dateTime, revision, author ) );
-            if ( getLogger().isDebugEnabled() )
+            if ( logger.isDebugEnabled() )
             {
-                getLogger().debug( "Author of line " + lineNumber + ": " + author + " (" + date + ")" );
+                logger.debug( "Author of line " + lineNumber + ": " + author + " (" + date + ")" );
             }
         }
     }
@@ -106,7 +103,7 @@ public class SvnBlameConsumer
         }
         catch ( ParseException e )
         {
-            getLogger().error( "skip ParseException: " + e.getMessage() + " during parsing date " + dateTimeStr, e );
+            logger.error( "skip ParseException: " + e.getMessage() + " during parsing date " + dateTimeStr, e );
             return null;
         }
     }
diff --git a/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 b/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
index 8929635e2..78e61b235 100644
--- a/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
+++ b/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
@@ -92,13 +92,13 @@ public class SvnBranchCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -106,7 +106,7 @@ public class SvnBranchCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr );
         }
         catch ( CommandLineException ex )
         {
@@ -129,7 +129,7 @@ public class SvnBranchCommand
             return new BranchScmResult( cl.toString(), "The svn branch command failed.", stderr.getOutput(), false );
         }
 
-        List<ScmFile> fileList = new ArrayList<ScmFile>();
+        List<ScmFile> fileList = new ArrayList<>();
 
         List<File> files = null;
 
diff --git a/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 b/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
index aa94af22b..cdeb42693 100644
--- a/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
+++ b/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
@@ -118,17 +118,17 @@ public class SvnChangeLogCommand
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), branch, startDate,
                                             endDate, startVersion, endVersion, limit );
 
-        SvnChangeLogConsumer consumer = new SvnChangeLogConsumer( getLogger(), datePattern );
+        SvnChangeLogConsumer consumer = new SvnChangeLogConsumer( datePattern );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -136,7 +136,7 @@ public class SvnChangeLogCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
index a2bb5ee38..b5de55650 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/changelog/SvnChangeLogConsumer.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.SvnChangeSet;
 import org.apache.maven.scm.util.AbstractConsumer;
 
@@ -89,7 +88,7 @@ public class SvnChangeLogConsumer
     /**
      * List of change log entries
      */
-    private List<ChangeSet> entries = new ArrayList<ChangeSet>();
+    private final List<ChangeSet> entries = new ArrayList<>();
 
     /**
      * The current log entry being processed by the parser
@@ -130,10 +129,8 @@ public class SvnChangeLogConsumer
     /**
      * Default constructor.
      */
-    public SvnChangeLogConsumer( ScmLogger logger, String userDateFormat )
+    public SvnChangeLogConsumer( String userDateFormat )
     {
-        super( logger );
-
         this.userDateFormat = userDateFormat;
     }
 
@@ -151,9 +148,9 @@ public class SvnChangeLogConsumer
      */
     public void consumeLine( String line )
     {
-        if ( getLogger().isDebugEnabled() )
+        if ( logger.isDebugEnabled() )
         {
-            getLogger().debug( line );
+            logger.debug( line );
         }
         switch ( status )
         {
@@ -282,9 +279,9 @@ public class SvnChangeLogConsumer
             {
                 action = ScmFileStatus.UNKNOWN;
             }
-            if ( getLogger().isDebugEnabled() )
+            if ( logger.isDebugEnabled() )
             {
-                getLogger().debug( actionStr + " : " + name );
+                logger.debug( actionStr + " : " + name );
             }
             final ChangeFile changeFile = new ChangeFile( name, currentRevision );
             changeFile.setAction( action );
diff --git a/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 b/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
index 3a0adce82..e2607a38e 100644
--- a/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
+++ b/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
@@ -71,17 +71,17 @@ public class SvnCheckInCommand
 
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet, messageFile );
 
-        SvnCheckInConsumer consumer = new SvnCheckInConsumer( getLogger(), fileSet.getBasedir() );
+        SvnCheckInConsumer consumer = new SvnCheckInConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -89,7 +89,7 @@ public class SvnCheckInCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
index 80fa908d7..f7b8cc236 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.checkin;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.svnexe.command.AbstractFileCheckingConsumer;
 
 import java.io.File;
@@ -51,9 +50,9 @@ public class SvnCheckInConsumer
     //
     // ----------------------------------------------------------------------
 
-    public SvnCheckInConsumer( ScmLogger logger, File workingDirectory )
+    public SvnCheckInConsumer( File workingDirectory )
     {
-        super( logger, workingDirectory );
+        super( workingDirectory );
     }
 
     // ----------------------------------------------------------------------
diff --git a/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 b/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
index 8adb689e7..919ee5902 100644
--- a/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
+++ b/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
@@ -77,25 +77,25 @@ public class SvnCheckOutCommand
 
         Commandline cl = createCommandLine( repository, fileSet.getBasedir(), version, url, recursive );
 
-        SvnCheckOutConsumer consumer = new SvnCheckOutConsumer( getLogger(), fileSet.getBasedir() );
+        SvnCheckOutConsumer consumer = new SvnCheckOutConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
         int exitCode;
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
index 6c45330e7..1984f5098 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumer.java
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.checkout;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.svnexe.command.AbstractFileCheckingConsumer;
 
 import java.io.File;
@@ -39,11 +38,11 @@ public class SvnCheckOutConsumer
 {
     private static final String CHECKED_OUT_REVISION_TOKEN = "Checked out revision";
 
-    private List<ScmFile> files = new ArrayList<ScmFile>();
+    private final List<ScmFile> files = new ArrayList<>();
 
-    public SvnCheckOutConsumer( ScmLogger logger, File workingDirectory )
+    public SvnCheckOutConsumer( File workingDirectory )
     {
-        super( logger, workingDirectory );
+        super( workingDirectory );
     }
 
     /**
@@ -104,7 +103,7 @@ public class SvnCheckOutConsumer
 
     protected List<ScmFile> getFiles()
     {
-        List<ScmFile> onlyFiles = new ArrayList<ScmFile>();
+        List<ScmFile> onlyFiles = new ArrayList<>();
         for ( ScmFile file : files )
         {
             // second part is for svn 1.7 as the co output is now relative not a full path as for svn 1.7-
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
index c4c6d8756..8c1bdd722 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/diff/SvnDiffCommand.java
@@ -54,17 +54,17 @@ public class SvnDiffCommand
         Commandline cl =
             createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), startVersion, endVersion );
 
-        SvnDiffConsumer consumer = new SvnDiffConsumer( getLogger(), fileSet.getBasedir() );
+        SvnDiffConsumer consumer = new SvnDiffConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -72,7 +72,7 @@ public class SvnDiffCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/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 b/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
index 78aecb950..263bbc509 100644
--- a/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
+++ b/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
@@ -83,17 +83,17 @@ public class SvnExeExportCommand
         Commandline cl =
             createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), version, url, outputDirectory );
 
-        SvnUpdateConsumer consumer = new SvnUpdateConsumer( getLogger(), fileSet.getBasedir() );
+        SvnUpdateConsumer consumer = new SvnUpdateConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( cl.getWorkingDirectory() != null && Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -101,7 +101,7 @@ public class SvnExeExportCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/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 b/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
index d30ea6bda..4f6318a88 100644
--- a/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
+++ b/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
@@ -61,17 +61,17 @@ public class SvnInfoCommand
     {
         Commandline cl = createCommandLine( repository, fileSet, recursive, revision );
 
-        SvnInfoConsumer consumer = new SvnInfoConsumer( getLogger() );
+        SvnInfoConsumer consumer = new SvnInfoConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -79,7 +79,7 @@ public class SvnInfoCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
index 05f7b8f08..1dc9cc3a6 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/info/SvnInfoConsumer.java
@@ -23,7 +23,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.scm.command.info.InfoItem;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 /**
@@ -37,11 +36,6 @@ public class SvnInfoConsumer
 
     private InfoItem currentItem = new InfoItem();
 
-    public SvnInfoConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     /** {@inheritDoc} */
     public void consumeLine( String s )
     {
diff --git a/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 b/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
index f888d50f2..32ad0a1fc 100644
--- a/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
+++ b/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
@@ -57,17 +57,17 @@ public class SvnListCommand
     {
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repository, fileSet, recursive, version );
 
-        SvnListConsumer consumer = new SvnListConsumer( getLogger() );
+        SvnListConsumer consumer = new SvnListConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -75,7 +75,7 @@ public class SvnListCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
index c87a167a7..813ca6421 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/list/SvnListConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.list;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -36,11 +35,6 @@ public class SvnListConsumer
 {
     private final List<ScmFile> files = new ArrayList<>();
 
-    public SvnListConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
diff --git a/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 b/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
index bcc96aae7..9e339d7a8 100644
--- a/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
+++ b/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
@@ -69,17 +69,17 @@ public class SvnMkdirCommand
         Commandline cl =
             createCommandLine( (SvnScmProviderRepository) repository, fileSet, messageFile, createInLocal );
 
-        SvnMkdirConsumer consumer = new SvnMkdirConsumer( getLogger() );
+        SvnMkdirConsumer consumer = new SvnMkdirConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -87,7 +87,7 @@ public class SvnMkdirCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirConsumer.java
index 54c287f8b..3c52c0888 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirConsumer.java
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -39,13 +38,8 @@ public class SvnMkdirConsumer
 
     private int revision;
     
-    private List<ScmFile> createdDirs = new ArrayList<ScmFile>();
-    
-    public SvnMkdirConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-    
+    private final List<ScmFile> createdDirs = new ArrayList<>();
+
     /** {@inheritDoc} */
     public void consumeLine( String line )
     {
diff --git a/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 b/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
index 75c4724e4..74de1ee0f 100644
--- a/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
+++ b/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
@@ -25,7 +25,6 @@ import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.command.remoteinfo.AbstractRemoteInfoCommand;
 import org.apache.maven.scm.command.remoteinfo.RemoteInfoScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.ScmProviderRepository;
 import org.apache.maven.scm.provider.svn.command.SvnCommand;
 import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
@@ -68,7 +67,7 @@ public class SvnRemoteInfoCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        LsConsumer consumer = new LsConsumer( getLogger(), baseUrl );
+        LsConsumer consumer = new LsConsumer( baseUrl );
 
         int exitCode = 0;
 
@@ -76,7 +75,7 @@ public class SvnRemoteInfoCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
             tagsInfos = consumer.infos;
 
         }
@@ -99,13 +98,13 @@ public class SvnRemoteInfoCommand
 
         stderr = new CommandLineUtils.StringStreamConsumer();
 
-        consumer = new LsConsumer( getLogger(), baseUrl );
+        consumer = new LsConsumer( baseUrl );
 
         Map<String, String> branchesInfos = null;
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
             branchesInfos = consumer.infos;
 
         }
@@ -135,13 +134,13 @@ public class SvnRemoteInfoCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        LsConsumer consumer = new LsConsumer( getLogger(), url );
+        LsConsumer consumer = new LsConsumer( url );
 
         int exitCode = 0;
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
@@ -153,11 +152,11 @@ public class SvnRemoteInfoCommand
             String output = stderr.getOutput();
             //olamy: a bit ugly but....
             // trying to parse error from svn cli which indicate no remote path
-            if ( output.indexOf( "W160013" ) >= 0 || output.indexOf( "svn: URL" ) >= 0 )
+            if ( output.contains( "W160013" ) || output.contains( "svn: URL" ) )
             {
                 return false;
             }
-            throw new ScmException( cl.toString() + ".The svn command failed:" + stderr.getOutput() );
+            throw new ScmException( cl + ".The svn command failed:" + stderr.getOutput() );
         }
 
         return true;
@@ -166,13 +165,12 @@ public class SvnRemoteInfoCommand
     private static class LsConsumer
         extends AbstractConsumer
     {
-        Map<String, String> infos = new HashMap<String, String>();
+        Map<String, String> infos = new HashMap<>();
 
         String url;
 
-        LsConsumer( ScmLogger logger, String url )
+        LsConsumer( String url )
         {
-            super( logger );
             this.url = url;
         }
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
index eaca39832..11e329938 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveCommand.java
@@ -56,17 +56,17 @@ public class SvnRemoveCommand
 
         Commandline cl = createCommandLine( fileSet.getBasedir(), fileSet.getFileList() );
 
-        SvnRemoveConsumer consumer = new SvnRemoveConsumer( getLogger() );
+        SvnRemoveConsumer consumer = new SvnRemoveConsumer();
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -74,7 +74,7 @@ public class SvnRemoveCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
index b9fdbba12..90b92dc45 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/remove/SvnRemoveConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.remove;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 
 import java.util.ArrayList;
@@ -37,15 +36,6 @@ public class SvnRemoveConsumer
 {
     private final List<ScmFile> removedFiles = new ArrayList<>();
 
-    // ----------------------------------------------------------------------
-    //
-    // ----------------------------------------------------------------------
-
-    public SvnRemoveConsumer( ScmLogger logger )
-    {
-        super( logger );
-    }
-
     // ----------------------------------------------------------------------
     // StreamConsumer Implementation
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
index 7e48bb372..29364b269 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusCommand.java
@@ -46,17 +46,17 @@ public class SvnStatusCommand
     {
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet );
 
-        SvnStatusConsumer consumer = new SvnStatusConsumer( getLogger(), fileSet.getBasedir() );
+        SvnStatusConsumer consumer = new SvnStatusConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -64,7 +64,7 @@ public class SvnStatusCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
index 1fcaec5ce..13ceb3123 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/status/SvnStatusConsumer.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.status;
 
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.util.AbstractConsumer;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -44,9 +43,8 @@ public class SvnStatusConsumer
     //
     // ----------------------------------------------------------------------
 
-    public SvnStatusConsumer( ScmLogger logger, File workingDirectory )
+    public SvnStatusConsumer( File workingDirectory )
     {
-        super( logger );
         this.workingDirectory = workingDirectory;
     }
 
diff --git a/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 b/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
index 3bcdd82d7..673918251 100644
--- a/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
+++ b/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
@@ -76,14 +76,14 @@ public class SvnTagCommand
         // NPE free
         if ( scmTagParameters == null )
         {
-            getLogger().debug( "SvnTagCommand :: scmTagParameters is null create an empty one" );
+            logger.debug( "SvnTagCommand :: scmTagParameters is null create an empty one" );
             scmTagParameters = new ScmTagParameters();
             scmTagParameters.setRemoteTagging( false );
             scmTagParameters.setPinExternals( false );
         }
         else
         {
-            getLogger().debug(
+            logger.debug(
                                "SvnTagCommand :: scmTagParameters.remoteTagging : "
                                    + scmTagParameters.isRemoteTagging() );
         }
@@ -117,13 +117,13 @@ public class SvnTagCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -131,7 +131,7 @@ public class SvnTagCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr );
         }
         catch ( CommandLineException ex )
         {
@@ -155,7 +155,7 @@ public class SvnTagCommand
             return new TagScmResult( cl.toString(), "The svn tag command failed.", stderr.getOutput(), false );
         }
 
-        List<ScmFile> fileList = new ArrayList<ScmFile>();
+        List<ScmFile> fileList = new ArrayList<>();
 
         List<File> files = null;
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommand.java
index de49edc62..927756794 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/untag/SvnUntagCommand.java
@@ -80,13 +80,13 @@ public class SvnUntagCommand extends AbstractUntagCommand implements SvnCommand
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -94,7 +94,7 @@ public class SvnUntagCommand extends AbstractUntagCommand implements SvnCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, stdout, stderr );
         }
         catch ( CommandLineException ex )
         {
diff --git a/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 b/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
index b1b7fde0b..7c4dd3457 100644
--- a/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
+++ b/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
@@ -58,17 +58,17 @@ public class SvnUpdateCommand
     {
         Commandline cl = createCommandLine( (SvnScmProviderRepository) repo, fileSet.getBasedir(), version );
 
-        SvnUpdateConsumer consumer = new SvnUpdateConsumer( getLogger(), fileSet.getBasedir() );
+        SvnUpdateConsumer consumer = new SvnUpdateConsumer( fileSet.getBasedir() );
 
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
-        if ( getLogger().isInfoEnabled() )
+        if ( logger.isInfoEnabled() )
         {
-            getLogger().info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
+            logger.info( "Executing: " + SvnCommandLineUtils.cryptPassword( cl ) );
 
             if ( Os.isFamily( Os.FAMILY_WINDOWS ) )
             {
-                getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
+                logger.info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() );
             }
         }
 
@@ -76,7 +76,7 @@ public class SvnUpdateCommand
 
         try
         {
-            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr, getLogger() );
+            exitCode = SvnCommandLineUtils.execute( cl, consumer, stderr );
         }
         catch ( CommandLineException ex )
         {
@@ -93,9 +93,9 @@ public class SvnUpdateCommand
 
         result.setChanges( consumer.getChangeSets() );
 
-        if ( getLogger().isDebugEnabled() )
+        if ( logger.isDebugEnabled() )
         {
-            getLogger().debug( "changeSets " + consumer.getChangeSets() );
+            logger.debug( "changeSets " + consumer.getChangeSets() );
         }
 
         return result;
@@ -165,11 +165,7 @@ public class SvnUpdateCommand
     /** {@inheritDoc} */
     protected ChangeLogCommand getChangeLogCommand()
     {
-        SvnChangeLogCommand command = new SvnChangeLogCommand();
-
-        command.setLogger( getLogger() );
-
-        return command;
+        return new SvnChangeLogCommand();
     }
 
 
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
index e5ffb3a7f..efadc9b05 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/update/SvnUpdateConsumer.java
@@ -28,7 +28,6 @@ import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.ChangeSet;
 import org.apache.maven.scm.ScmFile;
 import org.apache.maven.scm.ScmFileStatus;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.svn.svnexe.command.AbstractFileCheckingConsumer;
 
 /**
@@ -46,15 +45,15 @@ public class SvnUpdateConsumer
 
     private static final String RESTORED_TOKEN = "Restored";
     
-    private List<ChangeSet> changeSets = new ArrayList<ChangeSet>();
+    private List<ChangeSet> changeSets = new ArrayList<>();
 
     // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 
-    public SvnUpdateConsumer( ScmLogger logger, File workingDirectory )
+    public SvnUpdateConsumer( File workingDirectory )
     {
-        super( logger, workingDirectory );
+        super( workingDirectory );
     }
 
     // ----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProviderTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProviderTest.java
index 9d7c8c0d9..f01d76114 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProviderTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/SvnExeScmProviderTest.java
@@ -8,11 +8,12 @@ import static org.mockito.Mockito.when;
 import java.io.File;
 
 import org.apache.maven.scm.ScmException;
-import org.apache.maven.scm.log.ScmLogger;
 import org.codehaus.plexus.util.Os;
 import org.junit.Assume;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
+import org.slf4j.Logger;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -44,16 +45,17 @@ public class SvnExeScmProviderTest
     }
     
     // SCM-435
-    @Test 
+    @Test
+    @Ignore( "This test is for now ignore: it mock Logger and then asserts against it" )
     public void testGetRepositoryURL_Windows()
         throws Exception
     {
         Assume.assumeTrue( Os.isFamily( Os.FAMILY_WINDOWS ) );
         
         // prepare
-        ScmLogger logger = mock( ScmLogger.class );
+        Logger logger = mock( Logger.class );
         when( logger.isInfoEnabled() ).thenReturn( Boolean.TRUE );
-        scmProvider.addListener( logger );
+        // scmProvider.addListener( logger );
         File workingDirectory = new File( "." );
         
         // test
diff --git 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
index ea0eb46eb..081c7bd2f 100644
--- 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
@@ -22,7 +22,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.changelog;
 import org.apache.maven.scm.ChangeFile;
 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;
@@ -56,7 +55,7 @@ public class SvnChangeLogConsumerTest
         throws Exception
     {
         super.setUp();
-        consumer = new SvnChangeLogConsumer( new DefaultLog(), null );
+        consumer = new SvnChangeLogConsumer( null );
     }
 
     /**
@@ -82,7 +81,7 @@ public class SvnChangeLogConsumerTest
         final ChangeSet entry = consumer.getModifications().get( 0 );
 
         final List<ChangeFile> changedFiles = entry.getFiles();
-        final String revision = ( (ChangeFile) changedFiles.get( 0 ) ).getRevision();
+        final String revision = changedFiles.get( 0 ).getRevision();
 
         assertEquals( "Valid revision expected", "15", revision );
         assertEquals( "Valid num changed files expected", 2, changedFiles.size() );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumerTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumerTest.java
index 3307cab91..6c2576d68 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumerTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkout/SvnCheckOutConsumerTest.java
@@ -21,7 +21,6 @@ package org.apache.maven.scm.provider.svn.svnexe.command.checkout;
 
 import java.io.File;
 
-import org.apache.maven.scm.log.ScmLogDispatcher;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -33,7 +32,7 @@ public class SvnCheckOutConsumerTest
     public void testParseLine()
     {
         File file = new File( "mine/a" );
-        consumer = new SvnCheckOutConsumer( new ScmLogDispatcher(), file );
+        consumer = new SvnCheckOutConsumer( file );
         
         // SCM-618 StringIndexOutOfBoundsException
         consumer.parseLine( "A  " + file.getAbsolutePath() );
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
index 2b6c284ef..76afdd13a 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/provider/ScmProviderStub.java
@@ -48,7 +48,6 @@ import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.unedit.UnEditScmResult;
 import org.apache.maven.scm.command.untag.UntagScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
-import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
@@ -74,8 +73,6 @@ public class ScmProviderStub
 
     private String scmType, scmSpecificFilename;
 
-    private List<ScmLogger> loggers = new ArrayList<ScmLogger>();
-
     private boolean requiresEditmode;
 
     private ScmProviderRepository scmProviderRepository = new ScmProviderRepositoryStub();
@@ -169,14 +166,6 @@ public class ScmProviderStub
         this.scmSpecificFilename = scmSpecificFilename;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    public void addListener( ScmLogger logger )
-    {
-        loggers.add( logger );
-    }
-
     public boolean requiresEditMode()
     {
         return requiresEditmode;