2

I've added an svn:externals to my project, and it works great locally via TortoiseSVN. When I use Jenkins to pull from the same repository, it's not showing anything about the externals in the console output.

I read some other questions on here and I made sure my SVN version number in Jenkins was set to (1.6 externals to file) and restarted Jenkins. The problem is still occurring. Any ideas of something else I could set, or something I could use for troubleshooting? Thanks.

Oh, and the external directory is in the same repository, so I don't think it's an authentication issue as it builds fine without a reference to the external files.

HenryAdamsJr
  • 850
  • 2
  • 9
  • 21
  • make sure that you haven't checked "Ignore externals option". Did you deleted the workspace after setting SVN version to 1.6? – Peter Schuetze Oct 28 '13 at 17:25
  • I don't see "Ignore externals option". Yes, I deleted the workspace after changing the SVN version. I'm not even getting an externals error. It looks as though it's not even trying to download them. – HenryAdamsJr Oct 28 '13 at 17:31
  • The settings is in your job when you click on the advanced button of the subversion SCM section. – Peter Schuetze Oct 28 '13 at 18:12
  • I figured it out. It actually was an authentication issue, even though I thought it wasn't. I'll add the answer. – HenryAdamsJr Oct 28 '13 at 19:29

2 Answers2

1

I fixed this issue by selecting higher SVN Version Number on Jenkins 2.222.1. Here is the procedure:

  • Manage Jenkins -> Configure System -> Subversion Workspace Version
  • Select at least v1.6. (The default one was 1.4 for me)
0

I may have had a very uncommon structure, but here's what worked for me...

First of all, here's the directory structure:

--Parent
----folder1
------subfolder1
------svnexternalfolder
----svnexternalfolder

As you can see, I had my svn external folder in two different levels of the project structure, but the Jenkins project was pointing directly at "folder1".

When first configured, it would never pull the files for my svn external folder (whether it was a full checkout, or svn update). This was configured with the svnexternals at the parent level.

My next try was to remove the svn externals at the parent, then specify just the higher location on the parent, then the lower location on folder1. This gave an error since the child svn directory had the same name as the other one.

So I flip-flopped the order of creating the svn external locations and did the child first (on "folder1"), then did the higher one on parent. Once I did that, everything started working.

Hope this helps someone else.

If you're curious about why I configured the directory structure this way, this was a PhoneGap project. apparently cordova/phonegap projects create their directory structures like this, the common folder beneath the parent is the "www" which houses all html, javascript, etc files, then those are also used under the platforms/ios, or platforms/android folders (in my example, I just called it folder1).

ganders
  • 7,285
  • 17
  • 66
  • 114