Go to the root of your working directory.
svn add . --force
(This recursively traverses your working directory and does an
svn add on every file it finds that is not already under version control.)
Next do this:
svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )
svn status. The status command recursively gives a list of everything that has changed in the working directory. The weird
sed command finds all the lines starting with "!" (which is how svn status indicates a deleted file.))
Not that I really advise doing this. It would be preferable to just use "svn rm oldfile" instead of "rm oldfile" as you are doing your modifications. The "svn add . --force" isn't so great either: it's going to check in all the temporary files and object files that you generate while testing. It would be better to just "svn add newfile" when you care about adding a new file.
I typically run "svn status -u" before every checkin to get a clear picture of what has changed in my working copy.
I found the answer for the svn rm part at: http://stackoverflow.com/questions/1265122/how-can-i-programmatically-detect-missing-files-in-tar-archive-and-delete-them-f?rq=1, which in turn credits http://geryit.com/blog/command-line-subversion-practices/.