[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16475495#comment-16475495 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-389088832 You can always build from source and change dependency versions. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16474729#comment-16474729 ] ASF GitHub Bot commented on SCM-714: aharui commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-388942413 Is there an ETA for the release? Are there pre-release builds available we can try? 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16474481#comment-16474481 ] ASF GitHub Bot commented on SCM-714: 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 files ) + workingDirectory + " or files=" + files, ex ); } } + +/** + * + * @param cl + * @param files + */ +public static void addTargetPattern( Commandline cl, List files ) +{ +if ( files == null || files.isEmpty() ) +{ +return; +} +Set fileToAdd = new java.util.HashSet(); + +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 mailto:strub...@yahoo.de;>Mark Struberg */ @@ -139,12 +139,11 @@ public static Commandline createCommandLine( File workingDirectory, List 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,
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471637#comment-16471637 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-388293992 Thanks for the PR, everything is fine now and merged. I plan to release soon. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471634#comment-16471634 ] ASF GitHub Bot commented on SCM-714: murinrad commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-388293296 @michael-o Correct, however with the way I coded the fix previously that method was always receiving an empty filese, hence why it worked. Even without my changes, the else line seems redundant to me. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471342#comment-16471342 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #41: SCM-714 fix git commit when command line got too long URL: https://github.com/apache/maven-scm/pull/41#issuecomment-388227835 @McLuck Please close this has been merged. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16471340#comment-16471340 ] ASF GitHub Bot commented on SCM-714: asfgit closed pull request #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30 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/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..b9622797c 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 @@ -38,6 +38,7 @@ import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand; import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusConsumer; import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -45,6 +46,7 @@ import java.io.IOException; import java.net.URI; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -66,7 +68,7 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); -int exitCode; +int exitCode = -1; File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null ); try @@ -86,9 +88,28 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc // if specific fileSet is given, we have to git-add them first // otherwise we will use 'git-commit -a' later -Commandline clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); +Commandline clAdd = null; -exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); +//SCM-714: Workaround for the Windows terminal command limit +if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) +{ +for ( File file: fileSet.getFileList() ) +{ +clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), + Collections.singletonList( file ) ); +exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); + +if ( exitCode != 0 ) +{ +break; +} +} +} +else +{ +clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); +exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); +} if ( exitCode != 0 ) { @@ -248,11 +269,6 @@ public static Commandline createCommitCommandLine( GitScmProviderRepository repo // commit all tracked files cl.createArg().setValue( "-a" ); } -else -{ -// specify exactly which files to commit -GitCommandLineUtils.addTarget( 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project:
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16470941#comment-16470941 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-388150355 Looks better now. I asking myself what the pupose of the removed else block was. Commiiting explicitly those files which have been added before makes no sense, because not real subset is selected. In fact, I would have provided the very same long list making it fail again on Windows. Is that correct? 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16467129#comment-16467129 ] ASF GitHub Bot commented on SCM-714: murinrad opened a new pull request #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30 This is a fix for SCM-714 This fix changes the behaviour of git add on Windows machines. The git add is to be executed per file. Fix tested on local and correctly splits the add command per file. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16467128#comment-16467128 ] ASF GitHub Bot commented on SCM-714: murinrad commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-387337756 @michael-o seems I accidentaly closed this PR while commiting the fixes. Indeed the git add was reduntant in createCommitCommandLine and I fixed the empty fileset to its original logic. The tests which failed previously now pass. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16467127#comment-16467127 ] ASF GitHub Bot commented on SCM-714: murinrad closed pull request #71: SCM-714: mvn release:prepare fails if the command line is too long on… URL: https://github.com/apache/maven-scm/pull/71 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/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..b9622797c 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 @@ -38,6 +38,7 @@ import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusCommand; import org.apache.maven.scm.provider.git.gitexe.command.status.GitStatusConsumer; import org.codehaus.plexus.util.FileUtils; +import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -45,6 +46,7 @@ import java.io.IOException; import java.net.URI; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -66,7 +68,7 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); -int exitCode; +int exitCode = -1; File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null ); try @@ -86,9 +88,28 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc // if specific fileSet is given, we have to git-add them first // otherwise we will use 'git-commit -a' later -Commandline clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); +Commandline clAdd = null; -exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); +//SCM-714: Workaround for the Windows terminal command limit +if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) +{ +for ( File file: fileSet.getFileList() ) +{ +clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), + Collections.singletonList( file ) ); +exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); + +if ( exitCode != 0 ) +{ +break; +} +} +} +else +{ +clAdd = GitAddCommand.createCommandLine( fileSet.getBasedir(), fileSet.getFileList() ); +exitCode = GitCommandLineUtils.execute( clAdd, stdout, stderr, getLogger() ); +} if ( exitCode != 0 ) { @@ -248,11 +269,6 @@ public static Commandline createCommitCommandLine( GitScmProviderRepository repo // commit all tracked files cl.createArg().setValue( "-a" ); } -else -{ -// specify exactly which files to commit -GitCommandLineUtils.addTarget( 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM >
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16467120#comment-16467120 ] ASF GitHub Bot commented on SCM-714: murinrad opened a new pull request #71: SCM-714: mvn release:prepare fails if the command line is too long on… URL: https://github.com/apache/maven-scm/pull/71 … windows Submitted by: Radovan Murin A workaround for the Windows terminal command limit This fix changes the behaviour of git add on Windows machines. The git add is to be executed per file. The git commit has to be a generic one 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16467109#comment-16467109 ] ASF GitHub Bot commented on SCM-714: murinrad closed pull request #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30 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): 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16466249#comment-16466249 ] ASF GitHub Bot commented on SCM-714: murinrad commented on a change in pull request #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#discussion_r186497643 ## File path: 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 ## @@ -144,8 +165,11 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc { return new CheckInScmResult( null, statusConsumer.getChangedFiles() ); } - -Commandline clCommit = createCommitCommandLine( repository, fileSet, messageFile ); + +//SCM-714: Workaround for the Windows terminal command limit +// +Commandline clCommit = createCommitCommandLine( repository, new ScmFileSet( fileSet.getBasedir() ), Review comment: The way I read this, the line creates a commit command with files in the fileSet. However sice in the fix I already added all the file I want, I gave it the basedir, which should have no effect. Since the method is public static I didnt want to alter its behaviour so I think thats why I chose this solution. I will check the failing test during the week. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16465882#comment-16465882 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-387057165 @murinrad This is the last open issue for the next release. I'd like to have a comment on the failing test. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16464466#comment-16464466 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-386751463 The line in question produces: Results : Failed tests: GitExeCheckInCommandTckTest>CheckInCommandTckTest.testCheckInCommandPartialFileset:180 check readme.txt contents expected:<[/readme.txt]> but was:<[changed file]> Removing the change makes the test pass. Waiting for comment. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16464439#comment-16464439 ] ASF GitHub Bot commented on SCM-714: michael-o commented on a change in pull request #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#discussion_r186231262 ## File path: 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 ## @@ -144,8 +165,11 @@ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, Sc { return new CheckInScmResult( null, statusConsumer.getChangedFiles() ); } - -Commandline clCommit = createCommitCommandLine( repository, fileSet, messageFile ); + +//SCM-714: Workaround for the Windows terminal command limit +// +Commandline clCommit = createCommitCommandLine( repository, new ScmFileSet( fileSet.getBasedir() ), Review comment: What is the purpose of this change? This affects `-a` to be added, but we did already add untracked changes... 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460694#comment-16460694 ] ASF GitHub Bot commented on SCM-714: rfscholte commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385900126 Yes, I agree 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16460131#comment-16460131 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385784808 @rfscholte Does this mean that you agree with the change? 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16459866#comment-16459866 ] ASF GitHub Bot commented on SCM-714: rfscholte commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385725769 Kind of surprises me that the GitCheckInCommand contains adders for files, but these seems to be a good way to fix the Windows issue. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16459504#comment-16459504 ] ASF GitHub Bot commented on SCM-714: murinrad commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385616932 @michael-o indeed this change only changes the "git add" behaviour - it splits it per file so that we don't hit the character limit in the windows CLI. A commit is still made only once. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16459001#comment-16459001 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385517570 @rfscholte I don't see any one commit per file, but one file per add to avoid a huge add. This is how I read the patch. @murinrad Can you confirm this? 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16458873#comment-16458873 ] ASF GitHub Bot commented on SCM-714: rfscholte commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385492915 I don't like the idea to commit per file *by default*, this would make the logging unnecessary long and therefore hard to read. If there's no other way to pass these files, we should think of a flag to allow "n files per commit", default "all". I really hope we don't need such flag. 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16458217#comment-16458217 ] ASF GitHub Bot commented on SCM-714: michael-o commented on issue #30: Fix for SCM-714: mvn release:prepare fails if the command line is too long on windows URL: https://github.com/apache/maven-scm/pull/30#issuecomment-385285927 @rfscholte Isn't this a solution with can live with on Windows? 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: us...@infra.apache.org > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-gitexe >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15065391#comment-15065391 ] ASF GitHub Bot commented on SCM-714: Github user rfscholte commented on the pull request: https://github.com/apache/maven-scm/pull/41#issuecomment-165988127 This might be an interesting solution, but I really want the current behavior to be the default. Pattern based files might not select the correct set of files. I first would like to advice to switch to http://maven.apache.org/scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/index.html , or have an implementation where people can use filepatterns if they want. > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15063051#comment-15063051 ] ASF GitHub Bot commented on SCM-714: GitHub user McLuck reopened a pull request: https://github.com/apache/maven-scm/pull/41 SCM-714 fix git commit when command line got too long SCM-714 replace commit command individual files (ex: "pom.xml") to commit command using a pattern (ex: "*pom.xml"). You can merge this pull request into a Git repository by running: $ git pull https://github.com/McLuck/maven-scm master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/maven-scm/pull/41.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #41 commit e802ae20979ca6bc7870d484b03dadbfc421e45d Author: Lucas IsraelDate: 2015-12-17T22:59:03Z SCM-714 fix for Windows platform when command line got too long for adding files. This commit changed the git command add. Replacing from a list of type file to a list of file patterns. > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15063048#comment-15063048 ] ASF GitHub Bot commented on SCM-714: Github user McLuck closed the pull request at: https://github.com/apache/maven-scm/pull/41 > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (SCM-714) mvn release:prepare fails if the command line is too long on windows
[ https://issues.apache.org/jira/browse/SCM-714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15063046#comment-15063046 ] ASF GitHub Bot commented on SCM-714: GitHub user McLuck opened a pull request: https://github.com/apache/maven-scm/pull/41 SCM-714 fix git commit when command line got too long SCM-714 replace commit command individual files (ex: "pom.xml") to commit command using a pattern (ex: "*pom.xml"). You can merge this pull request into a Git repository by running: $ git pull https://github.com/McLuck/maven-scm master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/maven-scm/pull/41.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #41 > mvn release:prepare fails if the command line is too long on windows > > > Key: SCM-714 > URL: https://issues.apache.org/jira/browse/SCM-714 > Project: Maven SCM > Issue Type: Bug > Components: maven-scm-provider-git >Affects Versions: 1.8.1 >Reporter: Felix Simmendinger >Assignee: Robert Scholte >Priority: Blocker > > The issue from SCM-697 does not solve the issue as the gitprovider is not > using the add command but the checkin command during a release. -- This message was sent by Atlassian JIRA (v6.3.4#6332)