Version control 推荐用于托管多个独立补丁程序的DVCS机制

Version control 推荐用于托管多个独立补丁程序的DVCS机制,version-control,mercurial,dvcs,sourceforge,Version Control,Mercurial,Dvcs,Sourceforge,我有一个项目刚刚开始(更多详细信息请访问),目前正在使用Mercurial进行版本控制。看起来Mercurial和SourceForge几乎具备了所有正确的功能或元素,可以将我为这个项目所考虑的协作机制组合在一起,但我认为我还没有完全做到这一点。我希望人们能够提交、讨论并投票表决大量个人(比项目通常拥有更多的开发人员)的个人变更。我希望用户能够尽可能轻松地参与其中。现在的想法是,人们可以克隆“free4all”fork,它是基本“代码”存储库的克隆,或者他们可以在自己的SourceForge用户

我有一个项目刚刚开始(更多详细信息请访问),目前正在使用Mercurial进行版本控制。看起来Mercurial和SourceForge几乎具备了所有正确的功能或元素,可以将我为这个项目所考虑的协作机制组合在一起,但我认为我还没有完全做到这一点。我希望人们能够提交、讨论并投票表决大量个人(比项目通常拥有更多的开发人员)的个人变更。我希望用户能够尽可能轻松地参与其中。现在的想法是,人们可以克隆“free4all”fork,它是基本“代码”存储库的克隆,或者他们可以在自己的SourceForge用户项目中创建自己的fork(SourceForge现在为每个用户提供一个工作区来承载与项目相关的杂项内容)。然后他们可以将其克隆到本地存储库(在下载Ortoisehg或他们首选的Mercurial客户端之后)。然后,他们可以进行修改,提交修改,将修改推送到fork,并请求合并到基本“代码”存储库中,此时我们可以讨论/查看合并请求。这一切仍然是太多的步骤,比我想要的更正式

我看到Mercurial中有“搁置”这样的东西,但我不知道SourceForge存储库中如何/是否支持这一点。由于存在合并请求,所以可能没有一种方法来讨论搁置的更改

我在寻找任何能让这更容易的建议。理想情况下,我希望用户能够:

  • 指定他们想要玩的任何版本,并将请求的版本从源代码管理中提取出来,供用户在SourceForge玩(因为由于安全限制,游戏无法在本地玩Chrome浏览器正确应用于访问独立文件中图像内容的javascript代码)
  • 允许用户下载请求的项目版本以进行本地编辑(从同一来源构建的C#版本也可以在本地播放,或者Internet Explorer显然忽略了安全限制,允许在浏览器中本地播放)
  • 接受提交的修改,其形式可以与已提交/发布的任何其他兼容“分支”或游戏版本合并(理想情况下,这将非常简单——可能只需将整个文件集上传回服务器,并在服务器上执行比较和补丁/差异提取)
  • 其他玩家可以查看可用已提交补丁的列表,并选择任何一组进行播放/测试,然后讨论并投票决定更改

  • 显然,其中一些需求非常具体,如果我想达到理想的目标,我可能需要编写一些服务器端代码。但我想走阻力最小的道路,如果我需要的大部分功能已经基本实现,就使用可用的技术。或者,我想看看我是否可以在不编写任何服务器代码的情况下,更接近我前面概述的流程。那么,哪些片段可以帮助我做到这一点呢?Mercurial&SourceForge是否支持以我希望的方式存储和共享搁置的代码?这个“补丁队列”(我看到了,但还不能理解或开始工作)是否有什么可以帮助的地方?与存储库(服务器端)中的特定版本相比,有没有一种方法可以从给定的一组文件中提取修补程序文件,而无需用户下载任何Mercurial组件?

    听起来您可以使用Mercurial队列(mq)修补程序队列。修补程序队列可以是自己的、独立版本的存储库,人们可以使用“卫士”仅应用他们想要尝试的修补程序


    但实际上,使用bitbucket或github听起来更容易,它们都内置了优秀的补丁提交、审查和验收工作流。

    这听起来像是可以使用mercurial queue(mq)补丁队列来完成的。修补程序队列可以是自己的、独立版本的存储库,人们可以使用“卫士”仅应用他们想要尝试的修补程序


    但实际上,使用bitbucket或github听起来更容易,它们都内置了出色的补丁提交、审查和验收工作流。

    对于任何感兴趣的人,网站上都有一个静态运行的游戏示例。我想主持任何类似的版本,而不仅仅是一个正式发布的版本。我希望托管任何类似的版本,而不仅仅是正式发布的版本。看起来bitbucket最多只对5个用户免费,我的项目有望允许数百个用户提交补丁。有没有什么特别的机制可以让人们在不被视为“用户”的情况下提交bitbucket上的补丁程序?如果这是你正在做的,它对开源项目是免费的。@SteveKaye我可以在任何地方看到这样的声明吗?这在注册或主页上并不明显。嗯,这有点迟钝,但定价页面上说它最多对五个用户免费,并将一个用户定义为可以访问您的私人存储库的用户。这意味着公共存储库不会影响定价。你可以发电子邮件sales@bitbucket.org澄清一下。我很难弄清楚如何将mq与bitbucket结合使用,而谷歌却帮不上忙(我看到4年前的文档没有帮助)。我应该问一个单独的问题还是你能在这里解释一下?使用OrtoiseHG 2.1.1,我能够获得一个未提交的补丁进入补丁队列,在我链接的mq存储库的bitbucket补丁队列上可见。我必须显式地将.diff文件和series文件添加到变更集中,并检查--mq开关选项。我现在可以在新的克隆中看到未提交的补丁。但如果我删除了它,我就无法在不重新克隆的情况下将其取回。我搞砸了吗?看起来bitbucket最多只能免费提供5个用户,一个