【问题标题】:Source Control for remote clients with custom versions具有自定义版本的远程客户端的源代码控制
【发布时间】:2016-07-13 15:55:54
【问题描述】:

我正在为驻留在我的网络之外的多个客户端站点上的代码寻找源代码控制选项。代码文件的核心都是相同的,但每个客户都需要为自己的目的定制某些文件。我想知道是否有一种方法可以将所有核心文件和每个客户的自定义文件“一起”保存在一个源代码控制软件中。

目前我们还没有对其中任何一个进行源代码控制。我们通过 RDP 登录每个客户的站点并单独编辑他们的代码文件。当我们想要测试更改时,我们要么在他们的服务器上进行测试,要么将文件复制回本地并进行测试。如果能够通过源代码控制在本地进行这些更改,然后在本地测试后将这些更改部署到他们的服务器,那就太好了。

我们遇到的另一个障碍是,当我们更新核心代码时,我们现在必须在所有客户的网站上进行完全相同的更改。这种情况有什么好的选择吗?

【问题讨论】:

  • 投票结束为离题要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。

标签: svn version-control progress-4gl


【解决方案1】:

我会研究 perforce。恕我直言,在分支和合并方面最先进的 SCM。

【讨论】:

  • 这如何回答这个问题?
  • OP 正在寻求版本控制,并描述了一个对通用代码库进行一些定制的场景。并且正在寻求在更改时从主控更新大量定制代码行的能力。除了使用擅长分支和合并的 SCM 工具之外,您还能如何解决这个问题?
  • 您在这里没有提供任何指导来帮助约翰。您只需告诉恕我直言,Perforce 擅长分支和合并。 Perforce 很好,但你没有回答实际问题。
  • 仅提及两个脚本来克服 SVN 的缺点如何更有帮助?
  • 我指的是官方文档,不要用比较操作。
【解决方案2】:
  • 对于 Apache Subversion,您可以使用 vendor branches。这正是它们的设计目的:

    代码文件的核心都是一样的,但每个客户都需要 为自己的目的定制的某些文件。我想知道如果 有一种方法可以让我保留所有核心文件和我们每个客户的 自定义文件“一起”在一个源代码管理软件中。

    还有svn-vendor.py Python 3.3+ 脚本应该有助于自动化维护供应商分支的过程。 svn-vendor.py 替换 svn_load_dirs.pl Perl 脚本,该脚本如今已过时 AFAIK。

  • 由于@MikeFechner 已经提到过 Perforce,这里是他们关于 Perforce 风格的供应商分支版本的知识库文章:Creating Vendor Branches for Third Parties with Perforce

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-09
    • 2011-06-18
    • 2020-01-23
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多