推荐用于托管许多独立补丁的 DVCS 机制

2023-11-29

我有一个项目刚刚开始http://sourceforge.net/projects/iotabuildit/(更多详细信息请参见http://sourceforge.net/p/iotabuildit/wiki/Home/)当前正在使用 Mercurial 进行版本控制。看起来 Mercurial 和 SourceForge 几乎拥有所有正确的功能或元素来整合我为这个项目设想的协作机制,但我认为我还没有完全做到这一点。我希望人们能够提交、讨论和投票来自大量个人(比项目通常拥有的开发人员更多)的个人更改。我希望用户能够尽可能轻松地参与其中。现在的想法是,人们可以克隆“free4all”分支,它是基本“代码”存储库的克隆,或者他们可以在自己的 SourceForge 用户项目中创建自己的分支(SourceForge 现在为每个用户提供一个工作区托管各种与项目相关的内容)。然后他们可以将其克隆到本地存储库(下载 TortoiseHg 或他们首选的 Mercurial 客户端后)。然后他们可以进行修改,提交它们,将它们推送到分支,并请求合并到基础“代码”存储库中,此时我们可以讨论/审查合并请求。这一切步骤仍然太多,而且比我想要的更正式。

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

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

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

显然,其中一些要求非常具体,如果我想达到理想的目标,我可能需要编写一些服务器端代码。但如果我需要的大部分功能已经基本存在,我想采取阻力最小的途径并使用可用的技术。或者我想看看是否可以比我之前概述的过程更接近,而无需编写任何服务器代码。那么哪些部分可以帮助我做到这一点呢? Mercurial 和 SourceForge 是否支持按照我想要的方式存储和共享搁置的代码?这个“补丁队列”(我看到了,但还无法理解或无法开始工作)有什么可能有帮助吗?有没有一种方法可以从给定的文件集中提取补丁文件(与存储库(服务器端)中的特定修订版进行比较),而无需用户下载任何 Mercurial 组件?


这听起来像是您可以使用 Mercurial 队列 (mq) 补丁队列来完成的操作。补丁队列可以是自己的、单独的版本存储库,人们可以使用“守卫”来仅应用他们想要尝试的补丁。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

推荐用于托管许多独立补丁的 DVCS 机制 的相关文章

  • 从TFS迁移到GIT,共享项目到nuget

    我所在的软件团队由 4 5 名开发人员组成 他们从事一个 TFS 项目 我们正在考虑将整个代码库移至 GIT 该代码库由约 50 个 Visual Studio 2013 解决方案组成 分为约 300 个项目 引用项目中另一个程序集的首选过
  • 如何使用 git-svn 使 svn:external 保持最新?

    将我的存储库视为 SVN 存储库 我得到 svn co http myrepo foo trunk foo foo bar baz gt http myrepo baz trunk 将其视为 Git 存储库 我得到 git svn clon
  • 清理 Subversion 存储库的最佳方法是什么?

    我有一个不断增长的存储库 其中包含十几个我使用 TortoiseSVN 维护的项目 因为我对此完全陌生 还不知道其来龙去脉 我保存存储库的空间有限 因此我想备份它 然后删除一些旧版本 例如 如果一个项目的版本为 50 我只想保留 50 49
  • 如何在 Mercurial 中查看文件的先前版本

    我正在使用 Mercurial 对目录中的几个文件进行版本控制 假设我有 10 次提交 10 个变更集或修订 我只想查看特定文件 例如 thisFile py 在其第七个修订版中的外观 我不想恢复到这个旧版本 我不想对之前的版本进行任何更改
  • 为 Eclipse 安装 Mercurial 插件时出错

    我刚刚为 Eclipse 安装了一个 Mercurial 插件 安装过程很顺利 但是安装后 当我重新启动 eclipse 时 显示错误 错误说 发生了多个 Mercurial 错误 请检查错误日志视图以获取详细信息 命令行 hg y deb
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 如何在 Mac OS X 10.8 上安装 hg Convert 所需的 python subversion 绑定?

    我正在寻找一种解决方案 最好是干净且简单的 以启用hg convert使用 SVN 存储库在 OS X 10 8 上工作 目前 如果您尝试转换 SVN 存储库 您将得到一个could not load Subversion python b
  • 交互式变基后,本地 Git 分支已偏离原始分支

    我有一个本地分行 CRM ayrshireminis 其中有一些我已推送到原点的提交 origin CRM ayrshireminis 这个分支是从创建的develop大约一周前的一个分支 其他合作者已经在该分支上完成了一周的工作 我想做的
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • Git 到 TFS 源代码管理迁移

    我想看看 TFS 如何为我的命令工作 所以我想将我们当前的 GIT 存储库移动到 TFS 数据库 我们使用 GIT 来获得普遍的分支支持 因此我想使用 TFS 2010 来解决该问题 现在的问题是 如何将 GIT 存储库导出到 TFS 显然
  • 使用BFG时可以指定多个文件吗?

    我正在尝试删除通配符无法覆盖的多种类型的文件 我尝试使用多个 delete files 但它不接受它 还尝试将文件全部放在 delete files 之后 但它也不接受它 有没有一种方法可以将它们全部放在一个命令中 如果没有 那么我必须运行
  • 如何在 Perforce 树中查找未跟踪的文件? (svn状态的模拟)

    有人有脚本或别名来查找 Perforce 树中未跟踪 实际上 未添加 的文件吗 编辑 我更新了对此已接受的答案 因为看起来 P4V 在 2009 年 1 月的版本中添加了对此的支持 EDIT 请用p4 status现在 不再需要跳圈了 参见
  • Mercurial 撤消最后一次提交

    如何撤消 Mercurial 中上次意外提交 未推送 的更改 如果可能的话 最好使用 TortoiseHg 来实现这一点 Update 在我的具体案例中 我提交了一个变更集 未推送 然后我从服务器上拉取并更新 通过这些新的更新 我决定我的上
  • 如何将 pip 指向 Mercurial 分支?

    我正在尝试通过 pip 将我的应用程序安装到 virtualenv 进行测试 安装时效果很好default or tip像这样 pip install e hg https email protected cdn cgi l email p
  • 本地提交推送到中央服务器

    在工作中 我们使用 perforce 并被鼓励定期对其进行承诺 我对此很满意 然而 我想运行像 Mercurial 这样的东西 这样我就可以在本地提交正在进行的工作并且不一定编译 运行的东西 然后从中定期提交到中央 perforce 服务器
  • 如何在 IIS 上设置 Mercurial 和 hgweb?

    我一直在寻找关于如何让 hgweb 在 IIS 上工作的不错的说明 但我没有发现太多有价值的信息 There s 这个 一步一步 https www mercurial scm org wiki HgWebDirStepByStep在 Me
  • 如何仅隐藏一些未提交的更改?

    我正在对 Git 存储库进行重大更改 并意识到某些更改需要向后移植到错误修复分支 我不想签入我的所有更改master因为它们还没有经过充分的测试和准备 但我确实想提取其中一些更改并将它们提交到错误修复分支 然后按原样返回到 master 我
  • Git 日志历史记录

    对于版本控制来说 重要的一件事是知道谁做了什么更改 如果某些内容发生了变化 而我不知道为什么要进行更改 我会查看历史并询问进行更改的人 当我探索 git 时 让我对这个功能有点紧张的一件事是它似乎很容易伪造 是什么阻止我将同事姓名 电子邮件
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人

随机推荐

  • 当我使用 TRANSPOSE 将数组粘贴到工作表中时,为什么我的数组会破坏列?

    在 Excel 中 我使用 VBA 创建一个数组来收集数据 然后将其粘贴回工作表中 这在较小的数据集 约 15 000 行 上运行良好 但当我移动到较大的数据集 约 117 000 行 时 转置 步骤中发生了一些情况 在数组中 我想将标题和
  • java与c中的三元运算符[重复]

    这个问题在这里已经有答案了 为什么这个三元运算符在这里不起作用 但在 c 中却可以完美地工作 import java util Scanner class Pack public static void main String args S
  • 将 RecyclerView 单击的项目移动到顶部

    我有一个包含 n 个项目的 recyclerView 每个项目都可以在单击时展开 我希望我的项目能够展开并在单击时移动到顶部 假设如果我单击第三个项目 那么它应该移动到第一个项目位置 然后它将展开并且滚动应该停止 我已经设法用动画扩展 Re
  • 返回数组元素时,非常量引用的初始化无效

    我正在编写一个包装动态分配数组的类 并且正在尝试编写operator 函数 目前我有 bool solution operator unsigned int pos if pos lt size return this gt data po
  • 在 iPhone 上获取 DNS 服务器 IP

    我正在尝试使用以下命令获取我的 dns 服务器 IPlibresolv框架 但我得到的只是 0 0 0 0 void getDns res init for int i 0 i
  • 最小化单应性矩阵的误差

    我有一个单应性矩阵 h1 h2 h3 h4 h5 h6 h7 h8 h9 我改变了一个点p1 to P1使用上面的单应性矩阵 相似地 p2 to P2 p3 to P3 p4 to P4 我知道之间的区别 P1 P2 D1 P2 P3 D2
  • Shell 脚本删除数字字符串后的新行

    我需要编写一个 SHELL 脚本来仅在数字字符串之后删除新行 或者字符串不以数字开头 例如有一个文件 asasas 12345 adab 123 123 我需要这样的输出 asasas 12345 adab 123 123 sed a N
  • simplexml_load_file 和 simplexml_load_string 之间的区别

    我想将 xml 文件放入我的程序中并将其放入数组中 以便我可以将其放入表中 我想知道如何做到这一点 并且我已经阅读了 php 手册 但我似乎无法掌握它 为了做我想做的事 我需要使用simplexml load string 或者我需要命令他
  • Apache SetEnvIf 麻烦

    我的中有以下内容 htaccess file SetEnvIf Host example com myvar 1
  • 如何使用 XML::LibXML 解析 XML 文档并构建 Perl 哈希

    我有这样的 XML 数据
  • 如何用Flutter实现position:sticky和bottom 0?

    我想建立一个带有粘性页脚的列表视图 例如本文的 粘到底 在颤振中 In CSS main footer position sticky bottom 0 但是 Flutter 该怎么办呢 我想要的是 可滚动的大内容 页脚 粘性 可滚动的大内
  • JavaScript 闭包和 setTimeout

    闭包是我在 JS 中还没有完全掌握的东西 我认为这是一个封闭问题 我正在尝试创建一个进度条 每隔 x 秒我想增加 DIV 的宽度 这是应该执行此操作的部分 for i 0 i lt counter i setTimeout function
  • System.Drawing.Graphics.DpiX 始终返回 96

    我有 vb net winform 应用程序 自动缩放模式 dpi 自动缩放 假 自动调整大小 true 更改 DPI 设置后我已退出 我也尝试过重新启动机器 Using g As Graphics form CreateGraphics
  • 如何将我的代码从 v11 迁移到 Discord.js v12?

    我升级到 Discord js v12 但它破坏了我现有的 v11 代码 以下是导致错误的一些示例 TypeError client users get is not a function const user client users g
  • Android 中用颜色填充 ArrayList

    我想创建2个ArrayList 一种持有 16 种颜色 另一种持有 139 种颜色 我有颜色列表 RGB 为 255 126 32 十六进制为 0xFFFF2552 我想使用 ArrayList 稍后从中选择随机颜色 我试过 int 但不起
  • 在通过管道将 STDOUT 传输到文件时捕获 STDERR 的输出

    我的情况很奇怪 我正在尝试使用 Perl 自动备份 SVN 存储库集合 我正在使用 svnadmin dump 命令 该命令将转储发送到 STDOUT 并将遇到的任何错误发送到 STDERR 我需要运行的命令的形式为 svnadmin du
  • 对可拖动项目应用双击

    我有一个黄色按钮 可以将其拖放到灰色面板上 我使用 handleDragStop 函数来处理用户拖放黄色按钮时需要完成的所有任务 一切都很好 但是 我想知道如何启用用户双击黄色按钮的行为并具有与拖放时相同的行为 top icon dragg
  • c# 自定义 Dictionary 接受重复键进行序列化

    我需要实现一个有点类似字典的自定义功能 但可以插入重复的键 所以基本上我需要从 Dictionary 中得到的是将对象序列化为以下 JSON 的可能性 One Value 1 Two Value x One Value 10 Two Val
  • 如何通过 Watin 中的代码关闭弹出窗口拦截器?

    我在通过 watin 代码关闭弹出窗口阻止程序时遇到麻烦 谁能帮我知道如何通过 watin 关闭 IE 的弹出窗口拦截器 如果 IE 中安装了工具栏 如 google yahoo 或 msn 的弹出窗口拦截器 有什么方法可以关闭它们吗 提前
  • 推荐用于托管许多独立补丁的 DVCS 机制

    我有一个项目刚刚开始http sourceforge net projects iotabuildit 更多详细信息请参见http sourceforge net p iotabuildit wiki Home 当前正在使用 Mercuri