Removing a file from SVN, does not delete its revision history.
Apparently deleting the history is possible [SO]: Delete file with all history from svn repository.
To make things easier let's consider the following analogy.
From SVN's PoV, just like:
same way:
Let's say that we have an SVN file:
In revision M, a line of code (let's make it the last one to better illustrate the example) in that file was modified
In revision N (> M), that line was deleted
The situation is as follows (backwards chronologically):
For file revisions greater than N, the line won't be present
For file revisions between M and N, the line will have its last content
For file revisions lower than M, the line will have its old content
....
Same thing would happen if removing a file (from its parent folder perspective).
Now, back to your question: on my TortoiseSVN (v1.9.5):
I have a Delete option
I don't have an Unversion option, but
I do have a Delete (keep local) option - which is (a better name maybe for) Unversion. In terms of command line, this is equivalent to svn delete --keep-local
After performing one of the actions on a file, that file will no longer be tracked by SVN, but as opposed to Delete (where the file is also removed from the Working Copy / disk), Unversion will leave it on the disk just like the user would have manually copied it there (a subsequent svn st
will "see" the file as not under version control: the first column will be a question mark (?) as described on [RedBean.SVNBook]: svn status).
[TortoiseSVN]: Deleting, Moving and Renaming contains very little official info.
Personally, I see no use of keeping the local file except when fixing an error, e.g. removing previously committed items that don't belong in the repository (user specific) like:
[RedBean.SVNBook]: svn delete states:
Use the --keep-local
option to override the default svn delete behavior of also removing the target file that was scheduled for versioned deletion. This is helpful when you realize that you've accidentally committed the addition of a file that you need to keep around in your working copy, but which shouldn't have been added to version control.