【问题标题】:How to convert local Subversion repo to hg hosted on bitbucket?如何将本地 Subversion 存储库转换为托管在 bitbucket 上的 hg?
【发布时间】:2011-02-10 09:23:04
【问题描述】:

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

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

https://bitbucket.org/keymoo/moodb

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

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

这会创建一个 .hg 文件夹,我在其中运行命令,但我的源代码尚未被复制。我也不确定如何将 repo 和历史记录到 bitbucket 中。请帮忙,我只想尽快在 bitbucket 上启动并运行我的 repo+history。

【问题讨论】:

    标签: svn mercurial bitbucket


    【解决方案1】:

    这很容易。

    1. 安装hgsubversion
    2. 为您的存储库的 Hg 版本创建一个文件夹:
      mkdir MooDB_hg<br>cd MooDB_hg
    3. 将您的 SVN 存储库克隆到本地文件夹:
      hg clone svn+@987654322@
    4. 将其推送到 bitbucket:
      hg push @987654323@

    【讨论】:

      【解决方案2】:

      您的存储库和源代码肯定已被复制。您可以将.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 文档的一些链接,可帮助您入门:

      【讨论】:

      • 感谢hg update 将我的文件放入目录中。我应该在 .hg/hgrc 文件中配置什么?在 Windows 7 上是 C:\Users\MY_NAME\mercurial.ini 对吗?我查看了 bitbucket 文档,找不到任何关于如何配置它的信息。我在 Bitbucket 有一个空仓库,如何将我的文件和历史记录放入其中?
      • mercurial.ini 文件是特定于用户的配置,但您想要的是特定于存储库的配置,据我所知,该文件应该在 .hg/hgrc 中。
      猜你喜欢
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      相关资源
      最近更新 更多