If 'svn merge' tries to add a symbolic link, you get an ordinary file instead: [sussman@BenBook:~/scratch]$ svnadmin create repos [sussman@BenBook:~/scratch]$ svn co file://`pwd`/repos wc Checked out revision 0. [sussman@BenBook:~/scratch]$ cd wc [sussman@BenBook:~/scratch/wc]$ svn mkdir trunk A trunk [sussman@BenBook:~/scratch/wc]$ svn mkdir branch A branch [sussman@BenBook:~/scratch/wc]$ svn ci -m "r1" Adding branch Adding trunk Committed revision 1. [sussman@BenBook:~/scratch/wc]$ svn up At revision 1. [sussman@BenBook:~/scratch/wc]$ cd branch [sussman@BenBook:~/scratch/wc/branch]$ touch foo [sussman@BenBook:~/scratch/wc/branch]$ svn add foo A foo [sussman@BenBook:~/scratch/wc/branch]$ ln -s link foo ln: foo: File exists [sussman@BenBook:~/scratch/wc/branch]$ ln -s foo link [sussman@BenBook:~/scratch/wc/branch]$ svn add link A link [sussman@BenBook:~/scratch/wc/branch]$ svn st A foo A link [sussman@BenBook:~/scratch/wc/branch]$ ll total 8 -rw-r--r-- 1 sussman sussman 0 30 Sep 14:33 foo lrwxr-xr-x 1 sussman sussman 3 30 Sep 14:33 link@ -> foo [sussman@BenBook:~/scratch/wc/branch]$ svn ci -m "r2" Adding branch/foo Adding branch/link Transmitting file data .. Committed revision 2. [sussman@BenBook:~/scratch/wc/branch]$ cd .. [sussman@BenBook:~/scratch/wc]$ cd trunk/ [sussman@BenBook:~/scratch/wc/trunk]$ svn merge -r1:2 file:///Users/sussman/scratch/repos/ branch A foo A link [sussman@BenBook:~/scratch/wc/trunk]$ svn st A + foo ~ + link [sussman@BenBook:~/scratch/wc/trunk]$ ll total 8 -rw-r--r-- 1 sussman sussman 0 30 Sep 14:34 foo -rw-r--r-- 1 sussman sussman 8 30 Sep 14:34 link [sussman@BenBook:~/scratch/wc/trunk]$ svn pl -v link Properties on 'link': svn:special : * Very odd. The 'svn:special' property is there, but the thing ain't a symlink.