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.
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.