Хм, и когда вы сделали удаление и копирование, все было бы хорошо, если бы вы только что сделали hg addremove --similarity 90
, который говорит: «Удалите все, что ушли, добавьте все, что ново, и если они на 90% похожи на одно другое считается как переименование ".
Теперь, когда эта возможность упущена, нет возможности переместить одну без переписывания вашего репозитория, что делает недействительными все клоны в дикой природе, поскольку все идентификаторы узлов (хэши) меняются. Если это нормально и у вас в значительной степени линейная история, вы, вероятно, можете обойтись чем-то вроде этого:
hg export --output "../patch-%n.patch" 0:tip # exports every changeset to a patch file
cd ..
hg init newrepo
cd newrepo
hg import --similarity 90 ../patch*
Это берет линейную историю от вашего первого коммита до вашего последнего (исключая ветви и другие главы и т. Д.), Экспортирует их в патчи, создает новое пустое репо и импортирует наборы изменений, используя функцию обнаружения переименования.
Это довольно радикальный поступок, поэтому убедитесь, что он действительно того стоит, и держите свой старый репо в порядке.