Как я перемещаю частный Подвижный репозиторий в центральный сервер?

Я просто начинаю с Подвижным, и я прочитал учебное руководство Joel Spolsky Hg Init, которое я любил.

Я задаюсь вопросом: скажем, у меня есть частный репозиторий, и я работаю над ним приблизительно в течение месяца. Затем я решаю, что хочу централизовать его или обнародовать его, как на bitbucket.org. Я хочу сохранить всю историю.

Интуитивная вещь состояла бы в том, чтобы использовать клон hg, но согласно документам:

Местоположение источника добавляется к .hg/hgrc файлу нового репозитория как значение по умолчанию, которое будет использоваться для будущих получений по запросу.

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

Я должен настроить .hg/hgrc файл на сервере вручную? Я приближаюсь к этому правильно?

12
задан Andy West 23 June 2010 в 20:47
поделиться

2 ответа

В справке BitBucket говорится, что это так же просто, как создать пустой репозиторий на BitBucket, а затем сделать на него push:

... создайте новый пустой репозиторий на странице "Create repository". Мы будем считать, что этот репозиторий называется blonk и находится на http://bitbucket.org/jespern/blonk.

Теперь просто запустите его:

 $ cd ~/Work/blonk # наш существующий hg-репозиторий
 $ hg push http://bitbucket.org/jespern/blonk
 ...

Готово!

Вы можете отредактировать .hg/hgrc в вашем репозитории, чтобы включить путь по умолчанию к Bitbucket:

 $ cat .hg/hgrc
 [paths]
 default = http://bitbucket.org/jespern/blonk

Теперь вы можете просто ввести hg push и hg pull без необходимости указывать полный URL.

18
ответ дан 2 December 2019 в 07:02
поделиться

Выполнение этой операции с использованием "hg push", как описано, вероятно, лучший способ сделать это в целом.

Однако в других обстоятельствах было бы удобно или обнадеживающе отметить, что все состояния Hg содержатся в каталоге .hg, и поэтому простого перемещения этого каталога достаточно для перемещения репозитория.

Например, если у вас есть ssh-доступ к машине на example.com, вы можете заархивировать (или заархивировать) свой каталог .hg в «частном» репозитории, распаковать его, скажем, в ~ / repo / foo на удаленном компьютере (таким образом создавая там каталог ~ / repo / foo / .hg ), а затем просто клонируйте это:

$ hg clone ssh://example.com/repo/foo

Это немного похоже на лазейку для это я согласен. Однако здесь ничего особенного не происходит, и редактирование файлов конфигурации не требуется. Когда я делаю это, я нахожу это менее запутанным, чем «правильный» способ.

4
ответ дан 2 December 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: