Как я могу перейти с одного сервера Mercurial на другой, не теряя свою историю? - PullRequest
11 голосов
/ 20 ноября 2010

У меня есть проект, в котором я использую Bitbucket в качестве HG-сервера, но недавно я обнаружил, что как одинокий разработчик я могу использовать Fogbugz / Kiln бесплатно. Я хочу переместить мои файлы в печь, но я не хочу терять свою историю. Я уверен, что есть тупой простой способ сделать это, но я просто не знаю. Как мне это сделать?

Спасибо!

Ответы [ 3 ]

11 голосов
/ 20 ноября 2010

Создайте новый репо проекта и сделайте следующее с текущей копией исходного репо: hg push new-repo-path.

Затем вы будете использовать новый путь в будущем.Вы можете удалить репозиторий Bitbucket.

С Mercurial вся история есть в каждой копии репозитория, включая ваши локальные копии.

3 голосов
/ 20 ноября 2010

Поскольку вы уже используете Mercurial. Мне было просто любопытно, не должно ли быть достаточно клонирования вашего хранилища на Fogbugz / Kiln.

hg clone "BitBucket Repo ..."

Конечно, это не скопирует ваш hgrc-файл для каждого репозитория. Вам нужно будет сделать это отдельно.

Другой подход заключается в использовании комплекта.

hg bundle --all bitbucket.bundle
hg clone bitbucket.bundle my_repo

Третий подход заключается в том, чтобы подтолкнуть или вытянуть из репозитория bitbucket в репозиторий fogbugz.

Настройка по умолчанию

См .: https://www.mercurial -scm.org / wiki / TipsAndTricks .

Воспроизведение здесь:

Можно сохранить push-URL по умолчанию, который будет использоваться при вводе просто «hg push». Отредактируйте hgrc и добавьте что-то вроде:

[paths]
default-push = ssh://hg@example.com/path
0 голосов
/ 20 ноября 2010

Другие ответы уже объясняли, что сразу после создания нового пустого репозитория вы можете вставить в него свои изменения с помощью hg push <a href="http://example.com/hg/newrepo" rel="nofollow">http://example.com/hg/newrepo</a>. (Обратите внимание, что как только вы внесете в него некоторые изменения, в будущем он будет принимать изменения только из связанных репозиториев.)

То, что вам также кажется интересным, так это то, как настроить локальный репозиторий так, чтобы он по умолчанию перемещался в это место, без необходимости каждый раз указывать URL. Вы можете сделать это, отредактировав расположение по умолчанию в файле .hg\hgrc вашего хранилища. Это текстовый файл, который вы можете открыть с помощью блокнота или любого другого текстового редактора.

...