The problem is that when Hudson checks out the files, it doesn't use symlinks. I've tried the svn13 and svn14 plug ins, but neither worked.
Asked
Active
Viewed 1,496 times
1
-
Be careful with symlinks in repositories. I opened up a bug ticket in JIRA for hudson: https://issues.jenkins-ci.org/browse/JENKINS-9856 Essentially, symlinks linking outside your check-out directory can cause the files/folders to be deleted when Jenkins cleans the workspace. – Gary Jun 08 '11 at 02:06
-
1Resolved this problem as a part of 1.30 as well. – Kohsuke Kawaguchi Aug 12 '11 at 17:06
4 Answers
5
In linux, edit your /etc/init.d/hudson script file:
Look for a line that looks like:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
Change it to:
$SU $HUDSON_USER --shell=/bin/bash -c "$DAEMON $DAEMON_ARGS -- $JAVA $JAVA_ARGS -Dsvnkit.symlinks=true -jar $HUDSON_WAR $HUDSON_ARGS" || return 2
Save the file and type:
sudo /etc/init.d/hudson stop
sudo /etc/init.d/hudson start
In summary, you're essentially looking to pass JAVA -Dsvnkit.symlinks=true so that symlinks are resolved to folders instead of a file.

Frank Kusters
- 2,544
- 2
- 21
- 30

Gary
- 1,515
- 1
- 14
- 22
2
In CentOS, the line you should change reads:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
Change it to:
JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -Dsvnkit.symlinks=true -jar $JENKINS_WAR"
And restart jenkins

Edson Medina
- 9,862
- 3
- 40
- 51
2
I'm not sure which version of the subversion plugin you've tried, but as of subversion plugin 1.30 it works out of the box.
I guess SVNKit at some point change the default from doing symlink by default, and Jenkins benefited from it.

Kohsuke Kawaguchi
- 3,567
- 3
- 19
- 21
-
Yah, come to think of it, when I installed it on a Fedora box back in like march or may, I didn't need to do it that time. Good thing to point out to those using more current versions that doing this isn't really necessary anymore. – Gary Aug 15 '11 at 16:46
-
I'm running jenkins latest version on CentOS and it still doesn't work without adding svnkit.symlinks=true option – Edson Medina Sep 28 '11 at 10:18
1
If you want to edit this setting per slave node, this worked for me:
From Jenkins UI:
- Disconnect node
- Click on slave node, Under Configure -> Advanced -> JVM Options:
- Add line: Dsvnkit.symlinks=true
- Relaunch slave

GrilledTuna
- 21
- 3