• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • git-plugin
    • None

      Expected behavior: having "Wipe out workspace before build" unchecked would mean that the git plugin would not try to delete files in the workspace before building
      Actual behavior: having "Wipe out workspace before build" unchecked does not affect whether or not the git plugin tries to delete files in the workspace before building

      On version 1.5.0 of the git plugin (and judging by the source code, all versions since), the plugin unconditionally calls deleteContentsRecursive during the clone. This causes problems if the jenkins job running built any artifacts as another user, as they won't be able to be cleaned up. As there are checkboxes to indicate whether or not cleaning should occur, it seems like it would be nice to honor them.

      From src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java, line 366-370:

      try {
          Util.deleteContentsRecursive(workspace);
      } catch (Exception e) {
          e.printStackTrace(listener.error("Failed to clean the workspace"));
          throw new GitException("Failed to delete workspace", e);
      }
      

      When there are files not able to be deleted by jenkins, the following stacktrace is helpfully spewed:

      ERROR: Failed to clean the workspace
      java.nio.file.AccessDeniedException: <REDACTED>
      	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
      	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
      	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
      	at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
      	at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
      	at java.nio.file.Files.delete(Files.java:1077)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at hudson.Util.deleteFile(Util.java:239)
      	at hudson.Util.deleteRecursive(Util.java:307)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
      	at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      ERROR: Error cloning remote repo 'origin' : Failed to delete workspace
      hudson.plugins.git.GitException: Failed to delete workspace
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:225)
      	at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
      	at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
      	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:326)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      Caused by: java.nio.file.AccessDeniedException: <REDACTED>
      	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
      	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
      	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
      	at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
      	at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
      	at java.nio.file.Files.delete(Files.java:1077)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at hudson.Util.deleteFile(Util.java:239)
      	at hudson.Util.deleteRecursive(Util.java:307)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at hudson.Util.deleteRecursive(Util.java:298)
      	at hudson.Util.deleteContentsRecursive(Util.java:204)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
      	... 13 more
      

          [JENKINS-22795] git plugin cleans workspace on initial clone

          Matthaus Owens created issue -

          This issue appeared in the commit history for the code in question.

          Matthaus Owens added a comment - This issue appeared in the commit history for the code in question.
          Matthaus Owens made changes -
          Link New: This issue is related to JENKINS-16873 [ JENKINS-16873 ]
          Matthaus Owens made changes -
          Description Original: Expected behavior: having "Wipe out workspace before build" unchecked would mean that the git plugin would not try to delete files in the workspace before building
          Actual behavior: having "Wipe out workspace before build" unchecked does not affect whether or not the git plugin tries to delete files in the workspace before building

          On version 1.5.0 of the git plugin (and judging by the source code, all versions since), the plugin unconditionally calls deleteContentsRecursive during the clone. This causes problems if the jenkins job running built any artifacts as another user, as they won't be able to be cleaned up. As there are checkboxes to indicate whether or not cleaning should occur, it seems like it would be nice to honor them.

          From src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java, line 366-370:

          try {
              Util.deleteContentsRecursive(workspace);
          } catch (Exception e) {
              e.printStackTrace(listener.error("Failed to clean the workspace"));
              throw new GitException("Failed to delete workspace", e);
          }

          When there are files not able to be deleted by jenkins, the following stacktrace is helpfully spewed:

          {code}
          ERROR: Failed to clean the workspace
          java.nio.file.AccessDeniedException: <REDACTED>
          at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
          at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
          at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
          at java.nio.file.Files.delete(Files.java:1077)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at hudson.Util.deleteFile(Util.java:239)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
          at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:326)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:744)
          ERROR: Error cloning remote repo 'origin' : Failed to delete workspace
          hudson.plugins.git.GitException: Failed to delete workspace
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:225)
          at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:326)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:744)
          Caused by: java.nio.file.AccessDeniedException: <REDACTED>
          at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
          at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
          at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
          at java.nio.file.Files.delete(Files.java:1077)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at hudson.Util.deleteFile(Util.java:239)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
          ... 13 more
          {code}
          New: Expected behavior: having "Wipe out workspace before build" unchecked would mean that the git plugin would not try to delete files in the workspace before building
          Actual behavior: having "Wipe out workspace before build" unchecked does not affect whether or not the git plugin tries to delete files in the workspace before building

          On version 1.5.0 of the git plugin (and judging by the source code, all versions since), the plugin unconditionally calls deleteContentsRecursive during the clone. This causes problems if the jenkins job running built any artifacts as another user, as they won't be able to be cleaned up. As there are checkboxes to indicate whether or not cleaning should occur, it seems like it would be nice to honor them.

          From src/main/java/org/jenkinsci/plugins/gitclient/CliGitAPIImpl.java, line 366-370:

          {code}
          try {
              Util.deleteContentsRecursive(workspace);
          } catch (Exception e) {
              e.printStackTrace(listener.error("Failed to clean the workspace"));
              throw new GitException("Failed to delete workspace", e);
          }
          {code}

          When there are files not able to be deleted by jenkins, the following stacktrace is helpfully spewed:

          {code}
          ERROR: Failed to clean the workspace
          java.nio.file.AccessDeniedException: <REDACTED>
          at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
          at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
          at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
          at java.nio.file.Files.delete(Files.java:1077)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at hudson.Util.deleteFile(Util.java:239)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
          at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:326)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:744)
          ERROR: Error cloning remote repo 'origin' : Failed to delete workspace
          hudson.plugins.git.GitException: Failed to delete workspace
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:225)
          at org.jenkinsci.plugins.gitclient.AbstractGitAPIImpl.clone(AbstractGitAPIImpl.java:59)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.clone(CliGitAPIImpl.java:40)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1012)
          at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:948)
          at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2444)
          at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          at hudson.remoting.Request$2.run(Request.java:326)
          at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          at java.util.concurrent.FutureTask.run(FutureTask.java:262)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:744)
          Caused by: java.nio.file.AccessDeniedException: <REDACTED>
          at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
          at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
          at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
          at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
          at java.nio.file.Files.delete(Files.java:1077)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at hudson.Util.deleteFile(Util.java:239)
          at hudson.Util.deleteRecursive(Util.java:307)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at hudson.Util.deleteRecursive(Util.java:298)
          at hudson.Util.deleteContentsRecursive(Util.java:204)
          at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:222)
          ... 13 more
          {code}

          Mark Waite added a comment -

          I was unable to duplicate your bug report on multiple Linux and Windows machines using the current git client plugin (1.8.0) and the current git plugin (2.2.1). Can you provide more details as to how you see the problem?

          The steps I used:

          1. Create a multi-configuration git job using all Linux machines (elastic-axis plugin) to clone from a git protocol repository
          2. Run a Unix shell command in that job
            date >> ABC
            
          3. Run the job several times, confirming each time that the file ABC had more and more date output lines in the file

          Mark Waite added a comment - I was unable to duplicate your bug report on multiple Linux and Windows machines using the current git client plugin (1.8.0) and the current git plugin (2.2.1). Can you provide more details as to how you see the problem? The steps I used: Create a multi-configuration git job using all Linux machines (elastic-axis plugin) to clone from a git protocol repository Run a Unix shell command in that job date >> ABC Run the job several times, confirming each time that the file ABC had more and more date output lines in the file

          Mark Waite added a comment -

          I was unable duplicate the bug with similar steps from multiple Windows machines using a slightly different Windows batch command. More details are needed to illustrate how you've defined the job.

          Was the job originally defined with git plugin 1.5.0 and you're now using it with the current plugin, or are you truly only using git plugin 1.5.0?

          Have you tested with the current git plugin?

          Mark Waite added a comment - I was unable duplicate the bug with similar steps from multiple Windows machines using a slightly different Windows batch command. More details are needed to illustrate how you've defined the job. Was the job originally defined with git plugin 1.5.0 and you're now using it with the current plugin, or are you truly only using git plugin 1.5.0? Have you tested with the current git plugin?

          Mark Waite added a comment -

          Since I can't duplicate the problem and the submitter has not responded for 5 days, I'm closing this as "Cannot Reproduce".

          Mark Waite added a comment - Since I can't duplicate the problem and the submitter has not responded for 5 days, I'm closing this as "Cannot Reproduce".
          Mark Waite made changes -
          Resolution New: Cannot Reproduce [ 5 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          Mark Waite made changes -
          Status Original: Resolved [ 5 ] New: Closed [ 6 ]
          R. Tyler Croy made changes -
          Workflow Original: JNJira [ 154910 ] New: JNJira + In-Review [ 207656 ]

            Unassigned Unassigned
            haus Matthaus Owens
            Votes:
            5 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: