如何将本地Subversion repo转换为bitbucket上托管的hg?

时间:2011-02-10 09:23:05

标签: svn mercurial bitbucket

我目前使用Subversion在我的网络上使用本地Debian Linux机器对我的ASP.NET和C#源代码进行版本化。我当地的回购路径是:http://carbon.local/svn/main/WebSites/MooDB

我想将我的源代码移到Mercurial并将其托管在bitbucket.org上。我在bitbucket上设置了一个帐户,想要将我的本地SVN转换为Hg,然后将带有历史记录的repo上传到bitbucket。 bitbucket repo在这里:

https://bitbucket.org/keymoo/moodb

我已经完成了一些谷歌搜索并在临时工作目录中尝试了这个(在Windows 7上运行并安装了TortoiseHg):

hg convert http://carbon.local/svn/main/WebSites/MooDB

这会创建一个.hg文件夹,我在其中运行命令,但我的源代码尚未复制。我也不确定如何将回购和历史变成bitbucket。请帮助,我只是想尽快在bitbucket上使用我的repo +历史记录。

2 个答案:

答案 0 :(得分:7)

这很容易。

  1. 安装hgsubversion
  2. 为您的存储库的Hg版本创建一个文件夹:
    mkdir MooDB_hg
    cd MooDB_hg
  3. 将SVN存储库克隆到本地文件夹:
    hg clone svn+http://carbon.local/svn/main/WebSites/MooDB
  4. 将它推到bitbucket:
    hg push https://bitbucket.org/keymoo/moodb

答案 1 :(得分:6)

您的存储库和源代码肯定已被复制。您可以将.hg目录视为存储库,就像您的Subversion服务器一样,除了它是本地的。 Mercurial在本地保存整个存储库的副本。您无法查看任何文件的原因是您尚未检出特定修订版,您可以通过输入转换后的存储库所在的目录并键入hg update来完成。

如果要将存储库上传到Bitbucket,则必须根据Bitbucket文档在存储库的.hg/hgrc文件中配置Bitbucket存储库。然后,您可以使用hg push将存储库推送到Bitbucket。

更具体地说,您需要告诉您的存储库它可以找到您的远程存储库。这是我在Bitbucket创建的测试存储库的示例:

[paths]
default = https://csstaub@bitbucket.org/csstaub/test

告诉Mercurial“有一个名为default的远程存储库,它位于以下地址”。您必须获取存储库的地址,如其Bitbucket页面所示。然后,您可以执行hg push以将存储库推送到Bitbucket。

以下是Bitbucket文档的一些链接,可帮助您入门: