Whan create_special_file_from_stream() creates a symlink it only uses the first line of the underlying file but when checking for modifications svn_wc__internal_file_modified_p() uses the whole file. The result is that the svn:special files containing "link foo", or "link foo\n", or "link foo\nbar\n" all create symlinks to "foo" but the ones with "\n" cause the symlink to be reported as status modifed. This has knock-on effects, such as causing a tree-conflict when an incoming update deletes the symlink.