代码之家  ›  专栏  ›  技术社区  ›  Avi

开发代码时如何使用Internet Subversion响应?

  •  5
  • Avi  · 技术社区  · 17 年前

    我在使用CodePlex的Subversion项目时遇到了一个问题,为此我请求了帮助 here . 我有一个本地存储库,CodePlex有一个项目的Internet存储库,这两个存储库并不混合:-(。

    假设你是一群开发人员。Internet上有一个受Subversion控制的项目,您希望开始修改。您希望在本地处理它,并根据您的需要进行更改。您需要本地版本控制。您希望控制哪些Internet更改要接受到您的存储库中,这些更改是相关的、重要的并且不会引起噪音。你想在互联网上发布一些你当地的变化——那些你确信是稳定的,并且与整个社区相关的变化。

    1.这真的是一种常见的操作方法吗

    6 回复  |  直到 9 年前
        1
  •  1
  •   Martin Geisler    17 年前

    Subversion本质上是一个集中的版本控制系统。根据你的描述,听起来你想要一个

    我正在使用 Mercurial 我本人和我会向Subversion用户推荐它,因为它的许多命令与Subversion中的命令类似。这类其他流行工具包括 Git Bazaar .

        2
  •  1
  •   Wim Coenen    17 年前

    Vendor Branches .

    或者,您可以使用merge命令从存储库a中的文件夹中选取修订,并将这些更改应用到存储库B中文件夹的工作副本。merge命令似乎对此有一些支持(至少在最新版本中是这样),因此它的工作原理可能与在本地分支之间进行合并非常类似(减去自动合并跟踪)。

        3
  •  0
  •   Matthew Flaschen    17 年前

    开发者。有一种颠覆 控制项目在互联网上你 要开始修改。你想 在本地处理,将其更改为 适合你的需要。你要本地的吗 版本控制。你想控制吗 您的存储库-那些 相关且重要,且不会导致 噪音

    您希望能够在本地工作,无需再三考虑即可进行分支或合并。您基本上是在谈论分布式版本控制。Subversion不支持这一点。你应该改为使用 Mercurial Git .

        4
  •  0
  •   marcc    17 年前

    听起来您应该考虑在原始存储库中为代码创建分支。您可以根据需要从主干合并回分支,或者以其他方式合并。

    您的另一个选择是从存储库导出文件并添加到您自己的存储库中。但这只会是未来的痛苦。

        5
  •  0
  •   Ken Egozi    17 年前

    这对于分布式源代码控制系统(如git)来说要容易得多。

    在github上,您会看到许多类似的项目(使用git扩展subversion-ed OSS项目),例如NHibernate、Castle项目等。

    如果您必须坚持使用SVN,您可以通过公共主干上的一组补丁文件来管理您自己的更改。如果您想从主干中获取更新的内容,请使用所做的更改创建一个修补程序,恢复、更新到较新的主干,然后有选择地应用修补程序。

        6
  •  0
  •   AndreiM    17 年前

    在处理新功能时,我会将整个副本导出到我机器上的新副本,然后进行+测试所需的更改。如果我决定要重新提交更改,我会使用某种合并工具( WinMerge 很好,如果你在Windows上),合并我的更改回到原来的SVN更新文件夹,我带来了下来。