如何将私有Mercurial存储库移动到中央服务器?

And*_*est 12 mercurial repository bitbucket hgrc

我刚刚开始使用Mercurial,我已经阅读了Joel Spolsky的Hg Init教程,我很喜欢.

我想知道:假设我有一个私人存储库,我工作了大约一个月.然后我决定将它集中在一起或公之于众,就像在bitbucket.org上一样.我想保留所有的历史.

直观的是使用hg clone,但根据文档:

源的位置将添加到新存储库的.hg/hgrc文件中,作为将来拉取的默认值.

我不认为这是我想要的,因为源是我的本地私有存储库,目标是公共服务器.我不希望公共服务器在未来试图从我的私有存储库中提取认为它是中心服务器.我希望这是有道理的.

我是否必须手动调整服务器上的.hg/hgrc文件?我接近这个吗?

Ned*_*der 18

BitBucket的帮助说它就像在BitBucket上制作一个空的回购一样简单,然后推动它:

...通过"创建存储库"页面创建一个新的空存储库.我们假设这个存储库名为blonk,可以在http://bitbucket.org/jespern/blonk上找到.

现在,只需推动它:

  $ cd ~/Work/blonk # our existing hg repository
  $ hg push http://bitbucket.org/jespern/blonk
  ...
Run Code Online (Sandbox Code Playgroud)

完成!

您可以在存储库中编辑.hg/hgrc以包含Bitbucket的默认路径:

  $ cat .hg/hgrc
  [paths]
  default = http://bitbucket.org/jespern/blonk
Run Code Online (Sandbox Code Playgroud)

现在您只需输入hg push和hg pull,而无需指定完整的URL.