We assume you have created a working copy and there is already some content in your SVN that you share with others. All of this assumes that you are using some linux shell and are in the folder of your working copy. If you are in the wrong folder else it won’t work (most common source for error “Skipping .'” or “. is not a working copy”).
First thing you do is update (i.e. get the latest changes from the server), in case your teammates changed something. You don’t want to work on an old version!
Then you open some files, change some things (in "main.adb"), add a new file ("list.adb") and delete a different file ("array.adb"). After two hours work you need a coffee and it’s always a good idea to commit (i.e. send your changes to the server) before taking a longer break. Before you commit, you want to know what changed:
The message you get will look more or less like this:
M main.adb ? list.adb ! array.adb
This means, you have modified "main.adb", there is a file "list.adb" that SVN doesn’t really know about and "array.adb" should be there, but SVN cannot find it.
If you just commit, only "main.adb" will get changed and on the next update "array.adb" will be restored in your working copy. Why? Because you need to tell SVN explicitly that you want a file to be added or deleted. So let’s do that.
svn add list.adb svn del array.adb
Now let’s check the status again, the result will be:
M main.adb A list.adb D array.adb
We are satisfied and commit the whole thing:
svn ci -m "Replaced array with list, added list.adb, deleted array.adb"
It is always a very good idea to write a meaningful commit message (the parameter -m), so that your teammates know what has been changed. It also makes it easier to go back to a specific version, e.g. the version just before you removed the array.