I am using the multi scms plugin to check two svn repos and one git repo for changes.
The git repo and one svn repo poll correctly and start the build no problem.
One repository has been kicking off a build every time it polls, because it says the workspace doesn't contain the repo and it needs a new build.
Here is a mockup of the path to our repository (where bar is the project):
svn+ssh://foo.org//src/svn/bar/trunk
Here is how our subversion module is configured:
Repository URL: svn+ssh://foo.org//src/svn/bar/trunk
Credentials: user/*******(svn+ssh://foo.org)
Local module directory: bar
Repository depth: infinity
Ignore externals: checked
Check-out Strategy: Emulate clean checkout by first deleting unversioned/ignored files, then 'svn update'.
Here is the polling log:
Started on May 23, 2016 12:25:00 PM
Using strategy: Default
[poll] Last Built Revision: Revision e9ef05725627ef4a32fa7f05341aeb20675976be (refs/remotes/origin/master)
using GIT_SSH to set credentials
> git --version # timeout=10
> git ls-remote -h git@foo:.git # timeout=10
Found 1 remote heads on git@foo.org:some/project.git
[poll] Latest remote head revision on refs/heads/master is: e9ef05725627ef4a32fa7f05341aeb20675976be - already built by 262
Workspace doesn't contain svn+ssh://foo.org//src/svn/bar/trunk. Need a new build.
Received SCM poll call on master for foo on May 23, 2016 12:25:01 PM
svn+ssh://foo.org/second/svn/project/trunk/project is at revision 16,509
Done. Took 1.1 sec
Changes found
And here is the strange part. In the Console Output, it can find the missing svn project:
Started by an SCM change
[EnvInject] - Loading node environment variables.
Building on master in workspace /var/lib/jenkins/jobs/foo/workspace
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git@foo.org:some/project.git # timeout=10
Cleaning workspace
> git rev-parse --verify HEAD # timeout=10
Resetting working tree
> git reset --hard # timeout=10
> git clean -fdx # timeout=10
Fetching upstream changes from git@foo.org:some/project.git
> git --version # timeout=10
using GIT_SSH to set credentials
> git fetch --tags --progress git@foo.org:some/project.git +refs/heads/:refs/remotes/origin/
> git rev-parse refs/remotes/origin/master^
> git rev-parse refs/remotes/origin/origin/master^{commit}
# timeout=10
Checking out Revision e9ef05725627ef4a32fa7f05341aeb20675976be (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f e9ef05725627ef4a32fa7f05341aeb20675976be
> git rev-list e9ef05725627ef4a32fa7f05341aeb20675976be # timeout=10
Cleaning up /var/lib/jenkins/jobs/foo/workspace/trunk
Updating svn+ssh://foo.org//src/svn/bar/trunk at revision '2016-05-23T12:35:09.112 -0600'
At revision 16514
Cleaning up /var/lib/jenkins/jobs/foo/workspace/bar
Updating svn+ssh://foo.org/second/svn/project/trunk/project at revision '2016-05-23T12:35:09.112 -0600'
At revision 16514