Script started on Thu 14 Sep 2006 09:02:47 PM PDT $ pwd /tmp/merge-bug $ svnadmin create merge-bug-repo $ repo="file://$PWD/merge-bug-repo" $ svn mkdir "$repo/trunk" -m 'create directory tree' Committed revision 1. $ svn mkdir "$repo/branches" -m 'create directory tree' Committed revision 2. $ svn co "$repo/trunk" merge-bug-wc Checked out revision 2. $ cd merge-bug-wc /tmp/merge-bug/merge-bug-wc $ echo 'content' > file $ svn add file A file $ svn ci -m 'added file as a regular file' Adding file Transmitting file data . Committed revision 3. $ svn cp "$repo/trunk" "$repo/branches/branch" -m 'branched while file is still regular' Committed revision 4. $ svn update At revision 4. $ branchrev=$(svn info | grep ^Revision | awk ' { print $2 } ') $ echo $branchrev 4 $ svn rm file D file $ svn ci -m 'removed file in preparation of replacement with symlink' Deleting file Committed revision 5. $ echo blah > target $ ln -s target file $ svn add target file A target A file $ svn ci -m 're-added file as a symlink (and its target too)' Adding file Adding target Transmitting file data .. Committed revision 6. $ svn switch "$repo/branches/branch" UU file D target Updated to revision 6. $ echo 'replace file content' > file $ svn ci -m "commit file change" Sending file Transmitting file data . Committed revision 7. $ svn switch "$repo/trunk" UU file A target Updated to revision 7. $ svn merge -r "$branchrev:HEAD" "$repo/branches/branch" svn: In directory '.' svn: '.svn/tmp/tempfile.3.tmp' has unsupported special file type 'content' $ svn up svn: Working copy '.' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details) $ svn cleanup svn: In directory '.' svn: '.svn/tmp/tempfile.3.tmp' has unsupported special file type 'content' $ exit Script done on Thu 14 Sep 2006 09:05:40 PM PDT