-
Improvement
-
Resolution: Not A Defect
-
Critical
-
Single Linux Jenkins Master/Slave ver. 1.626.
# All plugins
wget -q 'http://localhost:8088/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins' -O -
<plugins><shortName>join</shortName><version>1.16</version><shortName>cvs</shortName><version>2.11</version><shortName>subversion</shortName><version>1.54</version><shortName>parameterized-trigger</shortName><version>2.26</version><shortName>rebuild</shortName><version>1.25</version><shortName>scm-api</shortName><version>0.2</version><shortName>promoted-builds</shortName><version>2.21</version><shortName>script-security</shortName><version>1.13</version><shortName>pam-auth</shortName><version>1.1</version><shortName>modernstatus</shortName><version>1.2</version><shortName>junit</shortName><version>1.2-beta-4</version><shortName>matrix-project</shortName><version>1.4.1</version><shortName>windows-slaves</shortName><version>1.0</version><shortName>build-pipeline-plugin</shortName><version>1.4.7</version><shortName>matrix-auth</shortName><version>1.1</version><shortName>ssh-slaves</shortName><version>1.9</version><shortName>credentials</shortName><version>1.18</version><shortName>cygpath</shortName><version>1.5</version><shortName>javadoc</shortName><version>1.1</version><shortName>git-client</shortName><version>1.16.1</version><shortName>custom-job-icon</shortName><version>0.2</version><shortName>ldap</shortName><version>1.11</version><shortName>translation</shortName><version>1.10</version><shortName>copyartifact</shortName><version>1.35.2</version><shortName>ant</shortName><version>1.2</version><shortName>mailer</shortName><version>1.11</version><shortName>git</shortName><version>2.3.4</version><shortName>m2release</shortName><version>0.14.0</version><shortName>jquery</shortName><version>1.11.2-0</version><shortName>ssh-credentials</shortName><version>1.10</version><shortName>external-monitor-job</shortName><version>1.4</version><shortName>envinject</shortName><version>1.91.3</version><shortName>maven-plugin</shortName><version>2.7.1</version><shortName>multiple-scms</shortName><version>0.5</version><shortName>antisamy-markup-formatter</shortName><version>1.1</version></plugins>
Single Linux Jenkins Master/Slave ver. 1.626. # All plugins wget -q ' http://localhost:8088/pluginManager/api/xml?depth=1&xpath=/*/*/shortName |/*/*/version&wrapper=plugins' -O - <plugins><shortName>join</shortName><version>1.16</version><shortName>cvs</shortName><version>2.11</version><shortName>subversion</shortName><version>1.54</version><shortName>parameterized-trigger</shortName><version>2.26</version><shortName>rebuild</shortName><version>1.25</version><shortName>scm-api</shortName><version>0.2</version><shortName>promoted-builds</shortName><version>2.21</version><shortName>script-security</shortName><version>1.13</version><shortName>pam-auth</shortName><version>1.1</version><shortName>modernstatus</shortName><version>1.2</version><shortName>junit</shortName><version>1.2-beta-4</version><shortName>matrix-project</shortName><version>1.4.1</version><shortName>windows-slaves</shortName><version>1.0</version><shortName>build-pipeline-plugin</shortName><version>1.4.7</version><shortName>matrix-auth</shortName><version>1.1</version><shortName>ssh-slaves</shortName><version>1.9</version><shortName>credentials</shortName><version>1.18</version><shortName>cygpath</shortName><version>1.5</version><shortName>javadoc</shortName><version>1.1</version><shortName>git-client</shortName><version>1.16.1</version><shortName>custom-job-icon</shortName><version>0.2</version><shortName>ldap</shortName><version>1.11</version><shortName>translation</shortName><version>1.10</version><shortName>copyartifact</shortName><version>1.35.2</version><shortName>ant</shortName><version>1.2</version><shortName>mailer</shortName><version>1.11</version><shortName>git</shortName><version>2.3.4</version><shortName>m2release</shortName><version>0.14.0</version><shortName>jquery</shortName><version>1.11.2-0</version><shortName>ssh-credentials</shortName><version>1.10</version><shortName>external-monitor-job</shortName><version>1.4</version><shortName>envinject</shortName><version>1.91.3</version><shortName>maven-plugin</shortName><version>2.7.1</version><shortName>multiple-scms</shortName><version>0.5</version><shortName>antisamy-markup-formatter</shortName><version>1.1</version></plugins>
I tried using "Check out to a sub-directory" option in Git SCM configuration with absolute path to required directory.
My hope was that word "sub-directory" is just a hint for default behaviour until absolute path is specified.
But it didn't work:
java.io.IOException: Failed to mkdirs: /path/to/directory/jenkins/has/required/permissions/for/
at hudson.FilePath.mkdirs(FilePath.java:1164)
at hudson.plugins.git.GitSCM.createClient(GitSCM.java:636)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:978)
at org.jenkinsci.plugins.multiplescms.MultiSCM.checkout(MultiSCM.java:129)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
at hudson.model.Run.execute(Run.java:1741)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:408)
Notifying upstream projects of job completion
I'm using environment where all (chained and inter-related) jobs share common (absolute) local Git repositories.
Proposed solution
The same field "Check out to a sub-directory" can be renamed into "Check out to a directory" with explanation that unless path is absolute, the specified directory is relative to workspace.