Mercurial: как мне создать новый репозиторий, содержащий поддиапазон ревизий из существующего репо? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть репо с подпунктами, с длинной историей. В какой-то момент основной подпункт стал полностью автономным (не зависит от других дочерних подпунктов).

Меня больше не волнует история всего этого до того, как основной подпункт стал автономным. Поэтому я хочу начать новый репо, который будет содержать только то, что есть в этом репо с этого момента. Если возможно, опишите в терминах команд TortoiseHg.

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Вы можете отсеять любые другие наборы изменений, которые вам не нужны, с помощью команды hg strip.

Он полностью удалит наборы изменений (и их предков) из хранилища. Скорее всего, вы захотите сделать свежий клон, а затем разобраться с ним.

Одна потенциальная ловушка состоит в том, что заключительное репо с раздетым текстом все еще будет иметь общее происхождение с оригиналом; следовательно, существует вероятность того, что кто-то может случайно сбросить наборы изменений, которые были удалены.

Команда hg convert ( отмечена в другом ответе ) не имеет этого недостатка.

0 голосов
/ 19 ноября 2018

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

hg convert from-path new-repo

Convert - расширение по умолчанию, которое просто требует активации.

...