Mercurial: рекомендуемый способ отправки целого хранилища кому-то
Я сделал некоторое программирование, и я использовал Mercurial для управления версиями. Теперь мне нужно отправить весь свой код кому-то другому (потому что они собираются взять на себя).
Поскольку все копии ртутного репозитория представляют собой полный и реальный репозиторий, моя первая мысль заключается в том, чтобы сначала сделать клон моего репозитория без обновления, а затем закрепить и отправить по электронной почте этот клон. Это хороший способ, или есть лучший способ?
Например, при использовании TortoiseHg Repository Explorer я могу щелкнуть правой кнопкой мыши по набору изменений, а в разделе "Экспорт" есть различные варианты, которые выглядят так, будто они могут делать что-то интересное, но я не совсем понимаю их или знаю, какой из них использовать,
Ответы
Ответ 1
То, что вы предложили, будет работать нормально, но вы также можете использовать hg bundle
для создания файла changegroup, инкапсулирующего сжатую копию всего репозитория (см. hg help bundle
для получения полной информации или на этой странице: http://www.selenic.com/mercurial/hg.1.html#bundle).
На вашей машине:
hg -R /path/to/repo bundle --all my_repo.hg
Затем отправьте my_repo.hg
off другому разработчику, который может клонировать непосредственно из этого:
hg clone my_repo.hg /path/to/new/clone
(Примечание: этот тип предполагает, что вы работаете с linux, но я думаю, что TortoiseHg поддерживает что-то подобное, поскольку это основная функция Mercurial).
EDIT: Похоже, что эквивалент, используемый TortoiseHg, заключался бы в экспорте ряда наборов изменений в виде пакета (см. здесь http://tortoisehg.bitbucket.io/manual/2.9/patches.html#export-patches). В этом случае вы хотите выбрать самый первый набор изменений до конца до конца и экспортировать в виде пакета.
Ответ 2
Каждая папка является полной копией репозитория. Просто отправьте всю папку, и у них будет все, что им нужно.
В качестве альтернативы вы можете клонировать копию папки и отправлять ей клон. Это позволило бы им в будущем вносить изменения, если понадобится в будущем.