From client side, there is simply no way to do this. No matter if commandline, Tortoise, or any other client.
If you have access to the server account that owns the repository, then there is some chance - but it is quite complicated and may involve a nontrivial manual work.
Roughly, these are the steps:
- get the repository UUID -
svn info http://svnserver/svn/repo
- see the UUID line - dump the svn repository:
svnadmin dump /path/to/repo > repo.dump
edit the dumpfile to exclude the commits
a) either open it in
vi
and delete your undesired commitsb) or use
svndumpfilter
command to filter them by pathcreate new repository and import your modified repository into it:
svnadmin create /path/to/repo2
svnadmin load < repo.dump
svnadmin setuuid /path/to/repo2 THE_ORIGINAL_UUID
Now, check that repo2 is working fine and has the content that you expect. If so, you can remove repo
and rename repo2
-> repo
.
Keep in mind that manual changes to the dumpfile are extremely prone to errors, and often these errors can be quite difficult to discover. It is usually bad idea to do things like this.