В Eclipse Ганимед (Subclipse)
Выберите проект/файл, который содержит плохие изменения, и из всплывающего меню выберите:
Team -> Показать История
Изменения, связанные с этим проектом/файл будет показан на вкладке История.
редакция Find, где «плохие изменения» были совершены, и из всплывающего меню выберите:
Revert Изменения с версии X
Это позволит объединить несколько изменений в файл (ы) измененными в плохой ревизии, с пересмотром до плохой ревизии.
Есть два сценария отсюда:
Если вы не совершили никаких изменений для этого файла (плохой пересмотр последнего изменения для этого файла), он будет просто удалить изменения, внесенные в плохой ревизии. Эти изменения объединены с вашей рабочей копией, поэтому вы должны их совершить.
Если вы сделали некоторые изменения для этого файла (плохая ревизия не является последней ревизией для этого файла), вам придется вручную разрешить конфликт. Скажем, что у вас есть файл readme.txt с, а неправильный номер версии - 33. Кроме того, вы сделали еще одну фиксацию для этого файла в редакции 34. После того, как вы выберете Отмените изменения с версии 33, у вас будет следующее в вашей рабочей копия:
readme.txt.merge-left.r33 - плохая редакция
readme.txt.merge-right.r32 - прежде чем плохой пересмотр
readme.txt .W orking - рабочая версия копии (такая же, как в r34, если у вас нет каких-либо незафиксированных изменений)
Оригинал readme.txt будет помечен как конфликтный и будет содержать объединенную версию (где изменения из плохой версии удаляются) с некоторыми маркеры (< < < < < < < .working и т. д.). Если вы просто хотите удалить изменения из плохой версии и сохранить изменения после этого, то все, что вам нужно сделать, это удалить маркеры. В противном случае вы можете скопировать содержимое из одного из трех файлов, упомянутых выше, в исходный файл. Что бы вы ни выбрали, когда вы закончите, отметьте конфликт разрешен
Team - Марк Решенного
Временные файлы будут удалены, и ваш файл будет помечен измененным. Как и в 1, вы должны зафиксировать изменения.
Обратите внимание, что это не удаляет ревизию из истории изменений в репозитории svn. Вы просто сделали новую ревизию, в которой удалены изменения из плохой версии.
Последний из репозитория ошибочно проверен, поэтому я не вижу, где он должен быть полезен. Кроме того, eclipse не хочет помочь вам решить эту проблему, потому что только опция упоминания доступна, если вы выберете несколько файлов (вероятно, потому, что их версия латтеров отличается). – Macilias 2015-08-28 15:11:21