Change By: Ron MacNeil (07/Jan/15 3:21 AM)
Summary: Git plugin  incorrectly adds trailing slash to  can't handle  repository URLs containing property reference(s) when polling
Description: We use a global property called "RepoRoot" to specify where our Git repositories live, so our repository URL's look similar to:

${RepoRoot}/RepoA.git

${RepoRoot}/RepoB.git


These resolve correctly This works fine  when  the job  jobs  actually  runs, but  run:

{code}
...
Fetching changes from the remote Git repository
 > git.exe config remote.origin.url https://github.com/Foo/RepoA.git # timeout=10
Cleaning workspace
 > git.exe rev-parse --verify HEAD # timeout=10
Resetting working tree
 > git.exe reset --hard # timeout=10
 > git.exe clean -fdx # timeout=10
Fetching upstream changes from https://github.com/Foo/RepoA.git
 > git.exe --version # timeout=10
using .gitcredentials to set credentials
 > git.exe config --local credential.helper store --file=\"C:\Users\FOO\AppData\Local\Temp\git6742298409525835661.credentials\" # timeout=10
 > git.exe -c core.askpass=true fetch --tags --progress https://github.com/Foo/RepoA.git +refs/heads/*:refs/remotes/origin/*
...
{code}


But
 we're seeing errors similar to the following in our polling log:

{code}
Fetching upstream changes from ${RepoRoot}/RepoA.git
 > git.exe --version # timeout=10
 > git.exe -c core.askpass=true fetch --tags --progress ${RepoRoot}/RepoA.git +refs/heads/*:refs/remotes/origin/*
FATAL: hudson.plugins.git.GitException: Failed to fetch from ${RepoRoot}/RepoA.git
hudson.util.IOException2: hudson.plugins.git.GitException: Failed to fetch from ${RepoRoot}/RepoA.git
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:518)
at hudson.scm.SCM.compareRemoteRevisionWith(SCM.java:380)
at hudson.scm.SCM.poll(SCM.java:397)
at org.jenkinsci.plugins.multiplescms.MultiSCM.compareRemoteRevisionWith(MultiSCM.java:92)
at hudson.scm.SCM.poll(SCM.java:397)
at hudson.model.AbstractProject.pollWithWorkspace(AbstractProject.java:1462)
at hudson.model.AbstractProject._poll(AbstractProject.java:1433)
at hudson.model.AbstractProject.poll(AbstractProject.java:1344)
at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:515)
at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:544)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: hudson.plugins.git.GitException: Failed to fetch from ${RepoRoot}/RepoA.git
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:695)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWithImpl(GitSCM.java:598)
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:516)
... 16 more
Caused by: hudson.plugins.git.GitException: Command "git.exe -c core.askpass=true fetch --tags --progress ${RepoRoot}/RepoA.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 
stderr: fatal: repository 'https://github.com/Foo/RepoA.git/' not found

at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1457)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1245)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:85)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:280)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:693)
... 18 more
Done. Took 2.3 sec
{code}


If I hard-code the repo root rather than use the global property reference, polling
 works  starts working .   So


From the polling log,
 it  seems  appears  as though  there's a difference in  the  handling of repository URLs between  polling  for changes and actually pulling changes during job execution  code is:

1
.  Not resolving global property references in repo URLs when assembling git command lines

2. Possibly incorrectly appending trailing forward slash characters to repo URLs


Thanks folks, love your work.
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to