You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[JENKINS-3949] Subversion checkouts creates files for symlinks #579
The check out of project containing checked in symlinks creates a workspace
with files instead of symlinks. E.g., creating a repository containing
the elements:
$ svn co file://$PWD/test/trunk/data
A data/file.link
A data/file.txt
Checked out revision 3.
$ ls -l data
total 12
lrwxrwxrwx 1 mrohan mrohan 8 Jun 28 17:55 file.link -> file.txt rw-rw-r- 1 mrohan mrohan 16 Jun 28 17:55 file.txt
Within Hudson, the workspace contains the elements:
$ ls -l data
total 16 rw-rw-r- 1 hudson hudson 13 Jun 28 17:53 file.link rw-rw-r- 1 hudson hudson 16 Jun 28 17:53 file.txt
$ cat data/file.link
link file.txt
The check out of project containing checked in symlinks creates a workspace
with files instead of symlinks. E.g., creating a repository containing
the elements:
$ svn co file://$PWD/test/trunk/data
A data/file.link
A data/file.txt
Checked out revision 3.
$ ls -l data
total 12
lrwxrwxrwx 1 mrohan mrohan 8 Jun 28 17:55 file.link -> file.txt
rw-rw-r- 1 mrohan mrohan 16 Jun 28 17:55 file.txt
Within Hudson, the workspace contains the elements:
$ ls -l data
total 16
rw-rw-r- 1 hudson hudson 13 Jun 28 17:53 file.link
rw-rw-r- 1 hudson hudson 16 Jun 28 17:53 file.txt
$ cat data/file.link
link file.txt
Hudson v1.313 (latest to-day) contains the Subversion plugin which in turns uses
SVNKit 1.3.0 and this in turns supports SVN 1.6.x and hence SVN externals
pointing to files as well as directories.
Hudson v1.313 (latest to-day) contains the Subversion plugin which in turns uses
SVNKit 1.3.0 and this in turns supports SVN 1.6.x and hence SVN externals
pointing to files as well as directories.
This issue is not related to Subversion externals. The underlying problem is
with Unix symbolic links checked into Subversion. Upto version 1.310, Hudson
correctly created symbolic links on checking out from Subversion. Starting
with version 1.311, it now creates files instead.
From your comments, I suspect you work primarily on Windows. The following
"how to repeat" requires Unix (e.g., Linux). I'm using my home directory in
the following commands (/home/mrohan), substitute where appropriate:
1) Create a Subversion repository:
$ svnadmin create /home/mrohan/repos
2) Create a directory in Subversion:
$ svn mkdir -mExample file:///home/mrohan/repos/xmpl
Committed revision 1.
3) Checkout the directory:
$ svn co file:///home/mrohan/repos/xmpl
Checked out revision 1.
4) Populate with a file and symbolic link and check in:
$ cd xmpl
$ echo "This is a file" > file.txt
$ ln -s file.txt file.link
$ ls -l
total 4
lrwxrwxrwx 1 mrohan mrohan 8 2009-06-30 09:32 file.link -> file.txt
rw-rw-r- 1 mrohan mrohan 15 2009-06-30 09:32 file.txt
$ svn add *
A file.link
A file.txt
$ svn commit -mExample
Adding file.link
Adding file.txt
Transmitting file data ..
Committed revision 2.
5) Start Hudson and define a job "Symlink Test" with
5.1) Source Code in Subversion:
Repository: file:///home/mrohan/repos/xmpl
Local module: xmpl
5.2) Add an "Execute shell" build step containing
ls -l
ls -l xmpl
6) Run this job under v1.310 and v1.311, v1.312 or v1.312.
The output for v1.310 shows a symlink in the workspace. The output
for any later version show a file of 13 bytes. I'll attach my output.
This is probably a bug in SVNKit but it is a regression for Hudson.
This issue is not related to Subversion externals. The underlying problem is
with Unix symbolic links checked into Subversion. Upto version 1.310, Hudson
correctly created symbolic links on checking out from Subversion. Starting
with version 1.311, it now creates files instead.
From your comments, I suspect you work primarily on Windows. The following
"how to repeat" requires Unix (e.g., Linux). I'm using my home directory in
the following commands (/home/mrohan), substitute where appropriate:
1) Create a Subversion repository:
$ svnadmin create /home/mrohan/repos
2) Create a directory in Subversion:
$ svn mkdir -mExample file:///home/mrohan/repos/xmpl
Committed revision 1.
3) Checkout the directory:
$ svn co file:///home/mrohan/repos/xmpl
Checked out revision 1.
4) Populate with a file and symbolic link and check in:
$ cd xmpl
$ echo "This is a file" > file.txt
$ ln -s file.txt file.link
$ ls -l
total 4
lrwxrwxrwx 1 mrohan mrohan 8 2009-06-30 09:32 file.link -> file.txt rw-rw-r- 1 mrohan mrohan 15 2009-06-30 09:32 file.txt
$ svn add *
A file.link
A file.txt
$ svn commit -mExample
Adding file.link
Adding file.txt
Transmitting file data ..
Committed revision 2.
5) Start Hudson and define a job "Symlink Test" with
5.1) Source Code in Subversion:
Repository: file:///home/mrohan/repos/xmpl
Local module: xmpl
5.2) Add an "Execute shell" build step containing
ls -l
ls -l xmpl
6) Run this job under v1.310 and v1.311, v1.312 or v1.312.
The output for v1.310 shows a symlink in the workspace. The output
for any later version show a file of 13 bytes. I'll attach my output.
This is probably a bug in SVNKit but it is a regression for Hudson.
Downloaded SVNKit 1.3.0.5847, made the example repository available via
http (not sure what the exact file: syntax is on Windows). jsvn successfully
checks out and creates a symlink on Unix. On Windows, since symlinks are
not supported on this platform, it instead creates a file containing
"link file.txt" (13 bytes).
It appears Hudson might be configuring SVNKit for Windows on Unix systems.
jsvn on Unix:
$ jsvn co http://10.20.96.133/repos/xmpl
A xmpl/file.link
A xmpl/file.txt
Checked out revision 2.
$ ls -l xmpl
total 4
lrwxrwxrwx 1 mrohan mrohan 8 Jun 30 14:26 file.link -> file.txt
rw-rw-r- 1 mrohan mrohan 15 Jun 30 14:26 file.txt
jsvn on Windows:
C:\mrohan\svnkit>jsvn co http://10.20.96.133/repos/xmpl
A xmpl\file.link
A xmpl\file.txt
Checked out revision 2.
C:\mrohan\svnkit>dir xmpl
Volume in drive C is MROHAN-DEV3
Volume Serial Number is 707B-3181
C:\mrohan\svnkit>type xmpl\file.link
link file.txt
Downloaded SVNKit 1.3.0.5847, made the example repository available via
http (not sure what the exact file: syntax is on Windows). jsvn successfully
checks out and creates a symlink on Unix. On Windows, since symlinks are
not supported on this platform, it instead creates a file containing
"link file.txt" (13 bytes).
It appears Hudson might be configuring SVNKit for Windows on Unix systems.
jsvn on Unix:
$ jsvn co http://10.20.96.133/repos/xmpl
A xmpl/file.link
A xmpl/file.txt
Checked out revision 2.
$ ls -l xmpl
total 4
lrwxrwxrwx 1 mrohan mrohan 8 Jun 30 14:26 file.link -> file.txt rw-rw-r- 1 mrohan mrohan 15 Jun 30 14:26 file.txt
jsvn on Windows:
C:\mrohan\svnkit>jsvn co http://10.20.96.133/repos/xmpl
A xmpl\file.link
A xmpl\file.txt
Checked out revision 2.
C:\mrohan\svnkit>dir xmpl
Volume in drive C is MROHAN-DEV3
Volume Serial Number is 707B-3181
As it stands, I am able to work around this issue by
manually removing the work area (jobs/<project>/workspace/trunk)
manually checking out a new trunk (svn co http://.. ../trunk)
updating my <project> configuration to USE UPDATE
Under "Subversion", select "Use Update" and save
From this I am able to release using the Hudson Maven Release Plugin. It would
appear that the plug-in is not directly impacted by this change ..??.. E.g. It
creates a new "checkout" directory under target which has working symlinks.
I would also like to see this fixed ...
As it stands, I am able to work around this issue by
manually removing the work area (jobs//workspace/trunk)
manually checking out a new trunk (svn co http://.. ../trunk)
updating my configuration to USE UPDATE
Under "Subversion", select "Use Update" and save
From this I am able to release using the Hudson Maven Release Plugin. It would
appear that the plug-in is not directly impacted by this change ..??.. E.g. It
creates a new "checkout" directory under target which has working symlinks.
After correcting my test case , I approve that solution is to remove those
lines setting svnkit.symlinks to true.
The issue with slow checkouts was solved in svnkit 1.3.0 using JNA.
As soon as I will test in on the real deployment, I will commit that change.
After correcting my test case , I approve that solution is to remove those
lines setting svnkit.symlinks to true.
The issue with slow checkouts was solved in svnkit 1.3.0 using JNA.
As soon as I will test in on the real deployment, I will commit that change.
Activity
jenkins-infra-bot commentedon Jun 30, 2009
abarbieri:
Raw content of original comment:
Hudson v1.313 (latest to-day) contains the Subversion plugin which in turns uses
SVNKit 1.3.0 and this in turns supports SVN 1.6.x and hence SVN externals
pointing to files as well as directories.
jenkins-infra-bot commentedon Jun 30, 2009
abarbieri:
Raw content of original comment:
duplicate of Issue 3673 as well, I think...
jenkins-infra-bot commentedon Jun 30, 2009
mkrohan:
Raw content of original comment:
This issue is not related to Subversion externals. The underlying problem is
with Unix symbolic links checked into Subversion. Upto version 1.310, Hudson
correctly created symbolic links on checking out from Subversion. Starting
with version 1.311, it now creates files instead.
From your comments, I suspect you work primarily on Windows. The following
"how to repeat" requires Unix (e.g., Linux). I'm using my home directory in
the following commands (/home/mrohan), substitute where appropriate:
1) Create a Subversion repository:
$ svnadmin create /home/mrohan/repos
2) Create a directory in Subversion:
$ svn mkdir -mExample file:///home/mrohan/repos/xmpl
Committed revision 1.
3) Checkout the directory:
$ svn co file:///home/mrohan/repos/xmpl
Checked out revision 1.
4) Populate with a file and symbolic link and check in:
$ cd xmpl
$ echo "This is a file" > file.txt
$ ln -s file.txt file.link
$ ls -l
total 4
lrwxrwxrwx 1 mrohan mrohan 8 2009-06-30 09:32 file.link -> file.txt
rw-rw-r- 1 mrohan mrohan 15 2009-06-30 09:32 file.txt$ svn add *
A file.link
A file.txt
$ svn commit -mExample
Adding file.link
Adding file.txt
Transmitting file data ..
Committed revision 2.
5) Start Hudson and define a job "Symlink Test" with
5.1) Source Code in Subversion:
Repository: file:///home/mrohan/repos/xmpl
Local module: xmpl
5.2) Add an "Execute shell" build step containing
ls -l
ls -l xmpl
6) Run this job under v1.310 and v1.311, v1.312 or v1.312.
The output for v1.310 shows a symlink in the workspace. The output
for any later version show a file of 13 bytes. I'll attach my output.
This is probably a bug in SVNKit but it is a regression for Hudson.
jenkins-infra-bot commentedon Jun 30, 2009
mkrohan:
Raw content of original comment:
Created an attachment (id=760)
Subversion check-out listing for v1.310
jenkins-infra-bot commentedon Jun 30, 2009
mkrohan:
Raw content of original comment:
Created an attachment (id=761)
Subversion check-out listing for v1.311
jenkins-infra-bot commentedon Jun 30, 2009
mkrohan:
Raw content of original comment:
Downloaded SVNKit 1.3.0.5847, made the example repository available via
http (not sure what the exact file: syntax is on Windows). jsvn successfully
checks out and creates a symlink on Unix. On Windows, since symlinks are
not supported on this platform, it instead creates a file containing
"link file.txt" (13 bytes).
It appears Hudson might be configuring SVNKit for Windows on Unix systems.
jsvn on Unix:
$ jsvn co http://10.20.96.133/repos/xmpl
A xmpl/file.link
A xmpl/file.txt
Checked out revision 2.
$ ls -l xmpl
total 4
lrwxrwxrwx 1 mrohan mrohan 8 Jun 30 14:26 file.link -> file.txt
rw-rw-r- 1 mrohan mrohan 15 Jun 30 14:26 file.txtjsvn on Windows:
C:\mrohan\svnkit>jsvn co http://10.20.96.133/repos/xmpl
A xmpl\file.link
A xmpl\file.txt
Checked out revision 2.
C:\mrohan\svnkit>dir xmpl
Volume in drive C is MROHAN-DEV3
Volume Serial Number is 707B-3181
Directory of C:\mrohan\svnkit\xmpl
30-Jun-09 14:26
.30-Jun-09 14:26 ..
30-Jun-09 14:2613 file.link
30-Jun-09 14:2615 file.txt
2 File(s) 28 bytes
2 Dir(s) 14,278,062,080 bytes free
C:\mrohan\svnkit>type xmpl\file.link
link file.txt
jenkins-infra-bot commentedon Jul 1, 2009
mkrohan:
Raw content of original comment:
This is a Unix (Linux) specific issue.
jenkins-infra-bot commentedon Jul 2, 2009
akosmaroy:
Raw content of original comment:
is there a workaround for this issue, until it is fixed?
jenkins-infra-bot commentedon Jul 2, 2009
mkrohan:
Raw content of original comment:
I have not been able to find a workaround. I simply reverted my instance back
to v1.309 (don't update to every version).
jenkins-infra-bot commentedon Jul 2, 2009
akosmaroy:
Raw content of original comment:
oh, it works in 1.309 - excellent...
jenkins-infra-bot commentedon Jul 2, 2009
mkrohan:
Raw content of original comment:
It works up v1.310 and fails starting with v1.311
jenkins-infra-bot commentedon Jul 2, 2009
thoth39:
Raw content of original comment:
This bug is blocking deployment of Hudson on my project.
Please raise it's priority.
jenkins-infra-bot commentedon Jul 2, 2009
smworley:
Raw content of original comment:
From this I am able to release using the Hudson Maven Release Plugin. It would appear that the plug-in is not directly impacted by this change ..??.. E.g. It creates a new "checkout" directory under target which has working symlinks.
I would also like to see this fixed ...
As it stands, I am able to work around this issue by
From this I am able to release using the Hudson Maven Release Plugin. It would
appear that the plug-in is not directly impacted by this change ..??.. E.g. It
creates a new "checkout" directory under target which has working symlinks.
jenkins-infra-bot commentedon Jul 2, 2009
mkrohan:
Raw content of original comment:
Issue #3968 appears to be a duplicate of this issue.
jenkins-infra-bot commentedon Jul 3, 2009
Raw content of original comment:
7 remaining items
jenkins-infra-bot commentedon Jul 5, 2009
mkrohan:
Raw content of original comment:
Created an attachment (id=770)
SVNKit log file with -Dsvnkit.symlinks=true on cmd line
jenkins-infra-bot commentedon Jul 6, 2009
dodok1:
Raw content of original comment:
I wuold like to point out that there is simple test case in
SubversionSCMTest::testSymbolicLinkCheckout() to check this problem.
I think that this problem has something to do with JNA.
jenkins-infra-bot commentedon Jul 6, 2009
dodok1:
Raw content of original comment:
After correcting my test case
, I approve that solution is to remove those
lines setting svnkit.symlinks to true.
The issue with slow checkouts was solved in svnkit 1.3.0 using JNA.
As soon as I will test in on the real deployment, I will commit that change.
jenkins-infra-bot commentedon Jul 6, 2009
dodok1:
Raw content of original comment:
solved in trunk, removed obsolete workaround
jenkins-infra-bot commentedon Jun 4, 2014
Raw content of original comment:
If anyone else thinks they are being bit by this very old bug, please check to see if you are actually affected by https://issues.jenkins-ci.org/browse/JENKINS-14217 ... which is what was getting us.
~tommy
jenkins-infra-bot commentedon Dec 12, 2025
[Original
is_duplicated_byfrom Jira: JENKINS-3968]jenkins-infra-bot commentedon Dec 12, 2025
[Original
is_duplicated_byfrom Jira: JENKINS-3904]