The situation is that I\'ve spent some time messing around with some experimental code. I now want to move part of that code - about 500 lines - into another file, but I don\'t
You can merge all revisions (or specific revisions) of one file into another like this
svn merge sourcefile targetfile -r 0:HEAD
At first I thought one would have to use the --ignore-ancestry option (since both files don't share any common history) but apparently this is not necessary. I tested with svn 1.6.3.
You are of course very likely to get alot of conflicts markers in the merge result. It may be easier to do the merge by hand (a copy and paste merge as you say), and then run the above merge command with --record-only to tell subversion about it.
After the merge, the targetfile will have a svn:mergeinfo property which indicates which commits from sourcefile where merged into it. When you examine the log of targetfile, you can see the history of both files by using the --use-merge-history option. TortoiseSVN has the same feature in the form of a checkbox in the log form.