Подтвердить что ты не робот

Hg: Как переместить файлы (в подпапку) без потери истории?

Как перемещать файлы (в подпапку), не теряя их истории?

В моем репозитории Mercurial (я имею в виду папку с .hg) у меня есть MyProject/папка со всеми файлами проекта. Теперь мне нужно создать src/папку внутри и переместить туда все файлы (от MyProject/ до MyProject/src/). Как я могу это сделать, не теряя всю историю?

4b9b3361

Ответ 1

hg mv 

делает правильные вещи, но hg log не перечисляет записи за ходом, если вы не дайте ему опцию -f. См. Этот вопрос для получения дополнительной информации

Почему "hg mv" (mercurial) по умолчанию не перемещает историю файла?

После этого вы, скорее всего, захотите добавить опцию -f в hg log в файл hgrc для репо.

.hg/hgrc

[defaults] 
log = -f 

Ответ 2

Поскольку у вас есть тег "tortoisehg", я решил, что объясню, как я это делаю с помощью графического интерфейса.

Обычно я просто переименовываю/перемещаю файлы в своей среде IDE или из обозревателя Windows, а затем, когда я перехожу к фиксации, THG покажет кучу (?) неизвестных файлов и (R) удаленных файлов. Просто щелкните правой кнопкой мыши по любому из файлов и выберите "Обнаруживать переименования...", затем нажмите кнопку "Найти переименования".

Возможно, вам придется настроить слайдер "Минимальное сходство", пока не получите все нужные файлы и только файлы, которые вы хотите, но обычно это очень просто.

Ответ 3

В Windows с установленным Tortoise HG существует расширение оболочки Windows, которое прекрасно справляется с этим.

В проводнике Windows просто щелкните правой кнопкой мыши и перетащите файлы (файлы), которые вы хотите переместить в папку назначения. Затем вам предлагается всплывающее окно, которое дает вам следующие варианты:

HG Переместить версии (-ы) версии здесь

HG Копировать версии (-ы) здесь

Ответ 4

Используйте hg mv, чтобы переместить ваши файлы, а затем используйте hg log -f (следовать), чтобы просмотреть историю, включая переименования.