i have looked at the svn import and i am not sure how to use that. there is a branches directory which contains the old cvs branches, but no trunk and, the actual stable branches are not branches.
There is nothing magical with the "trunk" or "branches" directories in Subversion. They are just conventions. And those conventions didn't really fit the development model of Pike up until now, so I deviated a bit from them.
how did you figure out when files were deleted? the only obvious assumption would be the time when the branching happened.
Yes. And that was the case with most such files. What has happened is that at each "branching" (which wasn't a branching in the CVS sense at all), the repository was copied, and then all the Attics were removed.
But there were also cases of files being removed, or more frequently moved or renamed, during the development cycle of a particular Pike version. The exact times could of course not be established, but generally it was possible to pinpoint between which two regular commits that such an operation should be inserted. It did take a lot of detective work though, mind you.
i also wonder why they have been deleted from the repository itself instead of using cvs to remove them, which should have placed them into the attic.
See above. The files were removed using cvs remove, and then the attic was cleaned out after the split. The ,v file containing the remove operation still exists in the attic in the repository of the previous Pike version. Modifications to the repository between splits consists mostly of moves/renames since CVS provides no useable facility to do that.