7

我目前使用 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。

4

2 回答 2

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
于 2011-02-11T00:35:53.717 回答
6

您的存储库和源代码肯定已被复制。您可以将.hg目录视为存储库,就像您的 Subversion 服务器一样,但它是本地的。Mercurial 在本地保留整个存储库的副本。您看不到任何文件的原因是您还没有签出特定的修订,您可以通过输入转换后的存储库所在的目录并键入hg update.

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

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

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

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

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

于 2011-02-10T10:59:16.840 回答