What I am looking for here is how to manipulate Svn to effectively rollback my previous commit to the repository without affecting the changes I have made locally.
Let's say I do this:
$ svn ci abc.java -m "Updated abc"
Sending abc.java
Transmitting file data .
Commited revision 123
And then realise that I don't want to make that update on the repository yet, but want to keep the changes I have made locally. I want my local files to stay the same, but the files on the repository to go back to revision 122.
I have only manged to find one way of doing this, is using a reverse merge:
$ svn merge -c -123 abc.java
--- Reverse-merging r123 into 'integer.c':
U integer.c
$ svn commit -m "Undoing last change: rev 123."
Sending abc.java
Transmitting file data .
Committed revision 124.
Unfortunately this means that I have to copy my local files elsewhere, before doing the reverse merge, and then copy my local file back after the commit.
I was wondering if there was a less circuitous way of doing this, where the operations only take place on the repository?
Thanks