You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by GitBox <gi...@apache.org> on 2018/05/14 17:09:44 UTC

[GitHub] McLuck closed pull request #41: SCM-714 fix git commit when command line got too long

McLuck closed pull request #41: SCM-714 fix git commit when command line got too long
URL: https://github.com/apache/maven-scm/pull/41
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 2599273d9..9ffd69d0b 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
@@ -29,6 +29,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
+import java.util.Set;
 
 /**
  * Command line construction utility.
@@ -80,6 +81,29 @@ public static void addTarget( Commandline cl, List<File> files )
                 + workingDirectory + " or files=" + files, ex );
         }
     }
+    
+    /**
+     * 
+     * @param cl
+     * @param files
+     */
+    public static void addTargetPattern( Commandline cl, List<File> files ) 
+    {
+        if ( files == null || files.isEmpty() ) 
+        {
+            return;
+        }
+        Set<String> fileToAdd = new java.util.HashSet<String>();
+
+        for ( File file : files ) 
+        {
+            fileToAdd.add( file.getName() );
+        }
+        for ( String patternFile : fileToAdd ) 
+        {
+            cl.createArg().setValue( "*" + patternFile );
+        }
+    }
 
     /**
      * 
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 21ad47607..37980e538 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
@@ -19,6 +19,12 @@
  * under the License.
  */
 
+import java.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
 import org.apache.commons.io.FilenameUtils;
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFile;
@@ -36,12 +42,6 @@
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
 
-import java.io.File;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
@@ -139,12 +139,11 @@ public static Commandline createCommandLine( File workingDirectory, List<File> f
 
         // use this separator to make clear that the following parameters are files and not revision info.
         cl.createArg().setValue( "--" );
-
-        GitCommandLineUtils.addTarget( cl, files );
+        GitCommandLineUtils.addTargetPattern( cl, files );
 
         return cl;
     }
-
+    
     private AddScmResult executeAddFileSet( ScmFileSet fileSet )
         throws ScmException
     {
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 e30aae0c3..42c471880 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
@@ -251,7 +251,7 @@ public static Commandline createCommitCommandLine( GitScmProviderRepository repo
         else
         {
             // specify exactly which files to commit
-            GitCommandLineUtils.addTarget( cl, fileSet.getFileList() );
+            GitCommandLineUtils.addTargetPattern( cl, fileSet.getFileList() );
         }
 
         if ( GitUtil.getSettings().isCommitNoVerify() )


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services