2011-05-28 36 views
1

我有一个名为“Proyectos”的目录,里面有Django代码。如何使用Mercurial提交到Sourceforge

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

我想我应该用一些地址:

http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan (read-only) 
ssh://[email protected]/hgroot/phone-apps-djan/phone-apps-djan (read/write) 

我这样做是对的Kubuntu:

[email protected]:~/Desarrollo/Python/Django/Proyectos$ hg clone http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/django-mercurial 

但只有创建文件夹。

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

请希望得到一些帮助。

在此先感谢。

回答

2

非常感谢罗布解酒和Krtek了他们的答案。我终于可以将所有文件添加到SourceForge。我遵循他们的指示,一切都很顺利,尽管我有一些小问题。

这是回答我的问题,一步一步:

在文件夹“PROYECTOS”我所做的:

  • hg clone ssh://[email protected]/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://[email protected]/hgroot/phone-apps-djan/phone-apps-dja 
    

我真的不明白这里发生了什么事,因为.hg目录在我的回购已经包含了hgrc文件, 。。这条道路:(反正我没hg push再次

,那就是所有

1

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

当您完成更改后,请键入hg commit来记录它们。准备就绪后,将更改上传到SourceForge,输入hg push http://path/to/repo。确保你推到正确的存储库!

+0

感谢您的回答罗布这是我做的:第一,我手动所有的文件从一个已经存在的项目复制一个名为“Proyectos”的新文件夹,然后我就进入了该文件夹t文件夹。一旦到了那里,我做“hg commit”然后“hg push http://phone-apps-djan.hg.sourceforge.net:8000/hgroot/phone-apps-djan/phone-apps-djan ”以便将所有文件上传到SourceForge。但是会显示此消息:未找到更改。所以我认为我做错了什么,因为它似乎没有上传文件...请再帮助一次。干杯!。 – Lucas 2011-05-28 23:25:03

+0

'hg push'将不起作用,Lucas使用只读地址克隆存储库,SF将拒绝任何传入的更改。 – krtek 2011-05-29 12:28:03

+0

@Krtek只要他在推送时指定目的地路径并且不使用'default-push'路径,它将是只读地址。 – 2011-05-29 12:46:18

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://[email protected]/hgroot/phone-apps-djan/phone-apps-djan (read/write),你可以通过这个地址写入你的存储库,但是你必须验证你自己(你将不得不输入你的密码)并且Mercurial使用SSH协议来做到这一点。您还可以在地址中看到您的sourceforge用户名。

首先,你必须用第二个地址做另一个项目克隆,否则你将无法提交。只是cd在新目录中,并做到:

hg clone ssh://[email protected]/hgroot/phone-apps-djan/phone-apps-djan 

您应该被提示输入你的SourceForge帐号密码。

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

你可以在Hg Init找到一个关于mercurial的非常好又简单的教程,你应该阅读它,并尝试在sourceforge上做任何事情之前了解工作流程。

祝你好运与您的项目:)

相关问题