Компания, на которую я работаю, запускает, и они изменили свое имя в процессе. Таким образом, мы все еще используем имя пакета com.oldname, потому что мы боимся повреждения истории изменений файла или ссылок родословной между версиями, или независимо от того, что мы могли повредиться (я не думаю, что использую правильные термины, но Вы получаете понятие).
Мы используем: Eclipse, TortoiseSVN, Подверсия
Я нашел где-нибудь, что должен сделать это на многих шагах для предотвращения непоследовательности между содержанием .svn папок и именами пакета в файлах Java:
Это кажется хорошим мне, но я должен знать, будут ли родословная и история и все остальное все еще когерентными и рабочими хорошо.
У меня нет ключей к тому серверу, вот почему я торопливо не копирую вещи и пробую одну или две вещи. Я хотел бы придумать серьезное основание не сделать это, или способ сделать его который работы.
Спасибо за помощь,
M. Joanis
Пакет переименовывает тест
Процедура:
Добавьте новый класс под renametest по имени RenameTest0.java и содержащий:
class RenameTest0 { public RenameTest0() { showMessage(); new RenameTest1(); } public static void showMessage() { System.out.println("RenameTest0!"); } public static void main(String[] args) { new RenameTest0(); } }
Добавьте новый класс под renametest.subpackage, содержащим:
class RenameTest1 { public RenameTest1() { showMessage(); RenameTest0.showMessage(); } public static void showMessage() { System.out.println("RenameTest1!"); } }
Тест, что RenameTest0 хорошо работает.
Результат теста:
Возможно, это непрактично для ваших конкретных нужд, но TortoiseSVN имеет удобную функцию переименования. Вы можете сделать это:
Вы уверены, что ведение истории НЕ работает, если вы используете метод рефакторинга, включенный в eclipse?
В NetNeans я регулярно меняю имена пакетов и базовый плагин svn незаметно переместит контент (который сохраняет историю) в новый каталог (после этого произойдет нормальный рефакторинг).
итак: пробовали ли вы его изнутри eclipse, если история сохраняется с помощью подключаемого модуля Subversion? (например, в новой копии для извлечения, чтобы избежать сбоя)
По крайней мере, вы могли бы использовать NetBeans для выполнения этой одноразовой задачи ...
Рассматривали ли вы использование подключаемого модуля Subclipse ? Согласно , это может решить ваши проблемы. Как мне использовать Eclipse Refactoring Tools и поддерживать синхронизацию с SVN через Subclipse?
Да, это сработает. Вы можете установить версию svn для командной строки и написать командный файл, который будет выполнять работу svn. Автоматизация работы с eclipse потребует немного больше усилий и, вероятно, того не стоит, если вы уже не знакомы с eclipse API.
Протестируйте его с одним пакетом, прежде чем делать все, чтобы убедиться, что все шаги выполняются правильно.
Вы можете сделать это, и это не так сложно - ваш лучший шанс получить чистую историю SVN - сделать это в 2 шага (может стать одним коммитом) - хотя для хороших результатов я рекомендую использовать CLI-клиент.
Затем вы можете зафиксировать как набор изменений, и история на уровне файлов должна совпасть.
Если вы используете Maven или инструмент упаковки, рекомендуем вам запустить релиз, прежде чем делать что-то подобное - также стоит вырезать тег непосредственно перед этим, на случай, если вам понадобится вернуться к старой структуре