1. Оформить заказ на новую копию репо
2. Запустите:
svn merge -rHEAD:XXXX
(XXXX - это ревизия ДО той, которую вы только что совершили)
3. Фиксация
4. Удалить только что выписанное репо
Здесь я ищу, как манипулировать 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.
К сожалению, это означает, что я должен скопировать свои локальные файлы в другое место, прежде чем выполнять обратное слияние, а затем скопировать свой локальный файл обратно после фиксации.
Мне было интересно, есть ли менее замысловатый способ сделать это, когда операции происходят только в хранилище?
Спасибо
1. Оформить заказ на новую копию репо
2. Запустите:
svn merge -rHEAD:XXXX
(XXXX - это ревизия ДО той, которую вы только что совершили)
3. Фиксация
4. Удалить только что выписанное репо