Maven SCM
  1. Maven SCM
  2. SCM-632

Faulty svn commandline is generated for passwords containing redirection characters

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3
    • Fix Version/s: 1.7
    • Component/s: maven-scm-provider-svn
    • Labels:
      None
    • Environment:
      Windows Server 2008 R2, Java 6 JDK, Maven 2.2.1
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      Similar to SCM-334, I'm getting errors attempting to run a release using a password that contains DOS redirection characters-- a pipe character, in my case, though I suspect angle brackets would cause similar problems. For the time being, the only workarounds seem to be either manually escaping the password in my settings.xml (which may cause problems elsewhere) or changing the password to not include a pipe (which would be a giant hassle).

      At the start of the Maven debug log I see:

      [DEBUG] Plugin dependencies for:
      org.apache.maven.plugins:maven-release-plugin:2.0
      are:
      ...
      org.apache.maven.scm:maven-scm-api:jar:1.3:runtime
      ...
      

      At the end of the debug log I get the following error (edited to obfuscate username and half a password):

      [INFO] Verifying that there are no local modifications...
      [INFO] Executing: cmd.exe /X /C "svn --username MyUsername --password ***** --non-interactive status"
      [INFO] Working directory: J:\DevTools\hudson\jobs\lookups-app-releaseUpdates\workspace\releaseUpdates-3.4
      [HUDSON] Archiving J:\DevTools\hudson\jobs\lookups-app-releaseUpdates\workspace\releaseUpdates-3.4\pom.xml to J:\DevTools\hudson\jobs\lookups-app-releaseUpdates\modules\com.knowledgecc.coplink$lookups-app-parent\builds\2011-09-09_16-35-44\archive\com.knowledgecc.coplink\lookups-app-parent\3.4.76-SNAPSHOT\pom.xml
      [INFO] ------------------------------------------------------------------------
      [ERROR] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Unable to check for local modifications
      Provider message:
      The svn command failed.
      Command output:
      'halfpass' is not recognized as an internal or external command,
      operable program or batch file.
      
      [INFO] ------------------------------------------------------------------------
      [DEBUG] Trace
      org.apache.maven.BuildFailureException: Unable to check for local modifications
      Provider message:
      The svn command failed.
      Command output:
      'halfpass' is not recognized as an internal or external command,
      operable program or batch file.
      
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
      	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      	at hudson.maven.agent.Main.launch(Main.java:173)
      	at hudson.maven.MavenBuilder.call(MavenBuilder.java:164)
      	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:868)
      	at hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:799)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:114)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:270)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:619)
      Caused by: org.apache.maven.plugin.MojoFailureException: Unable to check for local modifications
      Provider message:
      The svn command failed.
      Command output:
      'halfpass' is not recognized as an internal or external command,
      operable program or batch file.
      
      	at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:219)
      	at org.apache.maven.plugins.release.PrepareReleaseMojo.execute(PrepareReleaseMojo.java:181)
      	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
      	at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
      	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      	... 28 more
      Caused by: org.apache.maven.shared.release.scm.ReleaseScmCommandException: Unable to check for local modifications
      Provider message:
      The svn command failed.
      Command output:
      'halfpass' is not recognized as an internal or external command,
      operable program or batch file.
      
      	at org.apache.maven.shared.release.phase.ScmCheckModificationsPhase.execute(ScmCheckModificationsPhase.java:109)
      	at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:203)
      	at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:140)
      	at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:103)
      	at org.apache.maven.plugins.release.PrepareReleaseMojo.prepareRelease(PrepareReleaseMojo.java:211)
      	... 32 more
      

        Activity

          People

          • Assignee:
            Olivier Lamy
            Reporter:
            Karl M. Davis
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: