То, что я ищу здесь, - это как манипулировать Svn для эффективного отката моего предыдущего коммита в хранилище, не затрагивая изменения, которые я сделал локально.
Допустим, я делаю это:
$ svn ci abc.java -m "Updated abc"
Sending abc.java
Transmitting file data .
Commited revision 123
А потом поймите, что я пока не хочу делать это обновление в хранилище, но хочу сохранить изменения, которые я сделал локально. Я хочу, чтобы мои локальные файлы остались прежними, но файлы в хранилище вернутся к ревизии 122.
Мне удалось найти только один способ сделать это, используя обратное слияние:
$ 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.
К сожалению, это означает, что я должен скопировать свои локальные файлы в другое место, прежде чем выполнять обратное слияние, а затем скопировать свой локальный файл обратно после фиксации.
Мне было интересно, есть ли менее замысловатый способ сделать это, когда операции происходят только в хранилище?
Спасибо