Безусловно самый простой способ отменить изменения из одной или нескольких ревизий, заключается в использовании диалога журнала ревизий.
Выберите файл или папку, в которых вы собираетесь убрать изменения. Если вы желаете убрать все изменения, это должна быть папка верхнего уровня.
Выберите
→ для отображения списка ревизий. Возможно, вам понадобиться использовать кнопки или для отображения нужных вам ревизий.Выберите ревизию, которую вы хотите вернуть. Если вы хотите отменить диапазон ревизий, то выберите первую и, удерживая клавишу Shift, выберите последнюю. Если вы хотите выбрать отдельные ревизии и диапазоны, то используйте клавишу Ctrl при выборе ревизий. Выполните правый щелчок на выбранных ревизиях, после чего выберите → .
Или, если вы желаете сделать более раннюю ревизию новой ведущей, выполните правый щелчок на выбранной ревизии, затем выберите → . Это действие отменит все изменения после выбранной ревизии.
Вы выполнили отмену изменений внутри вашей рабочей копии. Проверьте результат, затем зафиксируйте изменения.
Если вы хотите ввести номера ревизий списком, то используйте диалог Слияние. В предыдущем методе слияние используется негласно, в этом методе оно применяется явно.
В вашей рабочей копии выберите [5].
→В диалоге Тип слияния выберите Слияние диапазона ревизий.
В поле От: введите полный URL-адрес хранилища вашей папки рабочей копии. Это будет URL по умолчанию.
В поле Диапазон ревизий для слияния введите список ревизий для отката (или используйте диалог журнала для их выбора, как описано выше).
Убедитесь, что установлен флажок Обратное слияние.
В диалоге Параметры слияния согласитесь со значениями по умолчанию.
Нажмите кнопку
для выполнения слияния.Вы отменили изменения в вашей рабочей копии. Проверьте, что результаты такие, как вы ожидали, а затем зафиксируйте изменения.
Поскольку данные в TortoiseSVN никогда не пропадают, ваши «отменённые» ревизии всё ещё существуют как промежуточные ревизии в хранилище. Только ведущая ревизия была изменена к предыдущему состоянию. Если вы желаете полностью убрать ревизии из хранилища и удалить все когда-либо существовавшие следы, вы должны будете применить более экстремальные меры. Это делать не рекомендуется, если только у вас нет очень веских оснований. Одной из возможных причин может быть фиксация конфиденциального документа в общедоступном хранилище.
Единственный способ удалить данные из хранилища - это использование инструмента командной строки Subversion svnadmin
. Описание того, как с ним работать, содержит раздел Обслуживание хранилища (Repository Maintenance) книги о Subversion.
[5] теперь слияние произодится при помощи мастера, в котором для этой задачи есть специальный пункт Произвести слияние диапазона ревизий. На следующей странице мастера укажите нужный диапазон ревизий (можно использовать журнал) и отметьте флажок Обратное слияние. Подробнее об этом рассказывает «Слияние с диапазоном ревизий» - прим. переводчика