Я поддерживаю Merucrial репозиторий для приложений на базе приложений Android/Java с именем пакета com.company.app. Как и в любом приложении Android, у меня была следующая структура каталогов, в каталоге с именем origProj
+--assets
+--res
+--src
+-- com
+-- company
+-- app
Теперь мне нужно изменить имя пакета на net.company2.app. Имя исходных файлов java не изменяется (изменяется только оператор пакета в каждом файле). Я хочу продолжать использовать тот же репозиторий. Я не хочу потерять историю/информацию, связанную с различными коммитами, которые я сделал в прошлом. Как это сделать?
Я сделал копию каталога origProj (с помощью проводника Windows) на newProj - и изменил подкаталоги, чтобы отразить новое имя пакета -
+--assets
+--res
+--src
+-- net
+-- company2
+-- app
Все сработало, но когда я открываю репозиторий для "фиксации" изменений, которые я сделал, перечисленные файлы беспорядочны - я имею в виду, что есть записи со старой структурой каталогов. Меня это не удивляет, потому что я понимаю, что я не делал этого "Mercurial". Каков правильный способ сделать это? Я посмотрел в Mercurial Окончательное руководство - я не мог найти разделы, имеющие отношение к тому, что я делаю - возможно, язык/термины - это то, с чем я не мог быть связан. Пожалуйста, помогите.
Вы хотите, чтобы hg mv
классов были реорганизованы, зафиксированы, затем реорганизованы классы с новым именем пакета и снова зафиксированы. purge
- это не то, что вы хотите, оно удаляет файлы и каталоги, не находящиеся под контролем версий.