Создать новый ртутный репозиторий клонирования с ревизии - PullRequest
0 голосов
/ 28 февраля 2019

У меня ОГРОМНОЕ ртутное хранилище.

Клонирование и некоторые операции начинают выполняться медленно.Я хотел бы избавиться от старых коммитов, но сохранить историю ревизий с определенной даты.

Есть ли способ сохранить коммиты С тех пор, как конкретный коммит на одной ветке, и свернуть все более старые родительские коммиты в одну?

R1 -> R2 -> R3 ->R4 -> R5 -> R6 -> R7 -> R8 -> Совет

[R1-5] -> R6 -> R7 -> R8 -> Совет

Я пытался сделать такоечто-то с использованием GRAFT, но это не сработало (возможно, я не знаю, как это сделать правильно).

Необязательно: Есть ли такая опция на Sourcetree?

1 Ответ

0 голосов
/ 05 марта 2019

Вы не можете клонировать его, чтобы достичь этого.Но у вас есть в основном два варианта:

  1. перезапись истории с использованием histedit (это расширение по умолчанию, но требует включения). Это дает вам возможность свернуть коммиты, то естьобъединить несколько один в один.

  2. convert (что по сути также является переписыванием истории). Это дает вам возможность создать новый репозиторий только с выбранными коммитами и ветвями.Таким образом, вы можете просто пропустить первые 4 коммита и начать с 5-го.

Для каждого также извлекайте справку, поставляемую с Mercurial (hg help histedit, hg help convert).

...