В svn я могу отменить изменение и отложить его на потом? - PullRequest
9 голосов
/ 02 мая 2009

У меня есть изменения, внесенные несколько изменений назад в моем хранилище SVN. Допустим, HEAD находится на r750, и я хочу вернуть r745 без потери r746-r750. Возможно ли это?

И можно ли как-нибудь сохранить r745 и применить его позже (как новую версию)?

Ответы [ 2 ]

17 голосов
/ 02 мая 2009

Предположим, вы получили чистое обратное слияние, вы можете сделать это ...

svn merge -r 745:744 <source>

Затем, когда вы захотите повторно применить его, вы можете переместить его обратно в:

svn merge --ignore-ancestry -r 744:745 <source>

Для получения дополнительной информации ознакомьтесь с « Общими вариантами использования для слияния

2 голосов
/ 02 мая 2009

Да, это определенно возможно.

Когда вы отменяете изменение, оно все равно создает новую ревизию в хранилище. Поэтому вы бы сделали что-то вроде этого:

1) Проверить текущую копию r750.

2) Укажите возврат рабочей копии с помощью svn merge -r. Ваша рабочая копия будет объединена со старой версией.

3) Отметьте рабочую копию как r751.

Теперь у вас будет две ревизии в истории. Новый (r751), который не включает в себя r745, так как вы откатили его обратно. Но r745 все еще будет там, если вы когда-нибудь захотите снова его применить. Вы можете просто извлечь копию r745, объединить ее с вашей рабочей копией и вернуть обратно (скажем, как r752).

...