Как мне использовать инструменты рефакторинга Eclipse и оставаться в синхронизации с SVN через Subclipse?

StackOverflow https://stackoverflow.com/questions/517752

Вопрос

Я обнаружил, что когда мне нужно переименовать класс Java (и, следовательно, исходный файл) или изменить имя пакета (и, следовательно, переместить исходный файл [ы]), я могу либо:

  1. Используйте приятные и полезные инструменты рефакторинга Eclipse, что здорово, поскольку все каскадные задачи выполняются за меня.Однако затем мне приходится нелегко бороться с Subversion, чтобы воспроизвести изменения обратно в репозиторий.
  2. Я могу сначала выполнить переименования / перемещения в Subversion, обновить свой локальный, а затем инструменты рефакторинга в Eclipse не работают.

Кто-нибудь может посоветовать предпочтительную процедуру?

Это было полезно?

Решение

Начиная с версий 1.4.x, Subclipse справляется с этим довольно хорошо.Если у вас есть ошибки, пожалуйста, сообщите о них.В предыдущих выпусках он обрабатывал некоторые ситуации, но не другие.Это было связано с ограничениями Subversion, которые были исправлены в SVN 1.5.Например, до SVN 1.5, если вы переименовали папку, вы также не могли переименовать файл в папке (до тех пор, пока папка не была зафиксирована).Все такого рода вещи были очень распространенным рефакторингом, и SVN мог бы помешать этому.

Хотя сейчас все это работает довольно хорошо.

Отметка

Другие советы

Мне неприятно входить и говорить "ты уже это делаешь", но поскольку в вашей теме письма упоминается Subclipse - Subclipse интегрируется с инструментами рефакторинга Eclipse.Как и Подрывной.Когда вы переименовываете класс, он выполняет для вас 'svn mv' внизу.Вам никогда не нужно будет пытаться повторить эти ходы вручную.

Интересно, не присоединяется ли по какой-то причине Subclipse к вашему проекту - если он не знает, что ваш проект является проектом Subversion.Тогда, очевидно, это ничего бы не дало.

Если вы не используете Subclipse / Subversive...начинай.:)

Вы пробовали подрывной ?Рефакторинг, кажется, отлично работает для меня с этим.

На самом деле, я тоже пробовал subclipse, и, похоже, он отлично с этим справляется, по крайней мере, с версией 1.4.7.Я только что попробовал переименовать пакет и класс.Eclipse помечает старый файл как удаленный и добавляет новый, который планируется добавить в репозиторий.

Подклип позаботится о перемещениях / переименованиях svn при рефакторинге в Eclipse.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top