如何使用Mercurial提交Sourceforge

时间:2011-05-28 17:49:50

标签: mercurial sourceforge

我的目录名为“Proyectos”,里面有Django代码。

我需要将项目提交给Source Forge,以便我的老师可以将所有代码“下载”到他的计算机上。

我想我应该使用其中一些地址:

http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan (read-only) 
 ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan (read/write)

我是在Kubuntu上做到的:

lucas@lucas-Satellite-L305:~/Desarrollo/Python/Django/Proyectos$ hg clone http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/django-mercurial

但只创建了文件夹。

我是新手,但没有找到如何做到这一点。我遵循了一些教程,但我无法理解很多概念。

我很感激您的帮助。

提前致谢。

3 个答案:

答案 0 :(得分:2)

您有两个不同的地址可以访问sourceforge上的Mercurial存储库:

  1. http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan (read-only),就像在地址后面说的那样,这个是只读的,每个人都可以克隆你的项目,所以他们可以看到源代码并编译/使用它。没有身份验证。当您使用此地址时,Mercurial使用HTTP协议来提取更改。
  2. ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan (read/write),您可以通过此地址写入您的存储库,但您必须自己进行身份验证(您必须输入密码),Mercurial使用SSH协议来执行此操作。您还可以在地址中查看sourceforge用户名。
  3. 首先,您必须使用第二个地址对项目进行另一次克隆,否则您将无法提交。只需cd在新目录中,然后执行:

    hg clone ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan
    

    系统会提示您输入sourceforge帐户密码。

    然后,您可以在新创建的目录中进行cd,执行所有更改,添加文件等。完成后,您可以执行hg commit,然后hg push发布修改您的存储库。如果您将新文件添加到目录中,请不要忘记执行hg addhg addremove

    你可以在Hg Init上找到关于mercurial的非常好的简单教程,你应该阅读它并尝试理解工作流程,然后再对sourceforge做任何事情。

    祝你的项目顺利:))

答案 1 :(得分:2)

非常感谢Rob Sobers和Krtek的回答。我终于可以将所有文件添加到SourceForge。我按照他们的指示,一切都很顺利,虽然我有一些小的并发症。

这是我一步一步解答的问题:

在“Proyectos”文件夹中,我做了:

  • hg clone ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-djan并输入了我的SourceForge帐户的密码。已创建文件夹“phone-apps-djan”。

  • 在我hg add进入cd并将我项目的所有文件复制到该文件夹​​后,
  • phone-apps-djan

  • hg commit。此时出现错误:abort: no username supplied (see "hg help config")。所以我在我的家庭目录中创建了一个名为.hgrc的文件并添加了这些行:

    [ui]
    username = my username at sourceforce <the mail address I supplied when registering>
    verbose = True
    

然后我重新输入hg commit

  • hg push。显示以下错误消息:abort: repository default-push not found!。然后我重新编辑了在最后一步创建的.hgrc文件并添加了:

    [paths]
    default = ssh://lucasab@phone-apps-djan.hg.sourceforge.net/hgroot/phone-apps-djan/phone-apps-dja
    

我真的不明白这里发生了什么,因为我的仓库中的.hg目录已经包含一个带有该路径的hgrc文件:(。无论如何,我再次hg push。< / p>

就是这样。

答案 2 :(得分:1)

执行hg clone将存储库下载到您的计算机。现在,要更新您的工作目录(以便您可以使用这些文件),请键入hg update

完成更改后,请输入hg commit进行更改。准备好将更改上传到SourceForge后,请键入hg push http://path/to/repo。确保你推到正确的存储库!