How to remove 1 revision of a folder in Subversion

svntortoisesvn

I have several projects in my repository, each project has it's own folder.
Is it possible to remove the last revision of one of the projects without changing anything else?

Example: Project A's latest version was committed creating rev. 50. Work on other projects goes on, the repository is now at rev. 60.

Now the user of A comes back and requests to remove the changes of the last version because they don't work out for him. He wants to go back to the previous version and all further changes should be done starting from there.

At this point I would like rev. 50 to disappear so that project A can go on as if rev. 50 never happened.

The only way I can see is to create a branch and from now on work on that branch. But that just creates many branches over time and the project's history gets cluttered.

What is a good solution for this scenario?

Best Answer

Short answer, you don't. It's really hard to actually erase a commit from a subversion repo. Intentionally so.

Practically, the thing to do is revert that directory back to revision 49, and then commit it as rev 61.

The key thing is that you're reverting ONLY the directory in question, not the whole checkout.

Here's the relevant SVN book link: http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-4-sect-4.2

You want a command of the form "svn merge -r 60:50 xxx://path"