研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

版本控制 | 如何有效管理SVN服务器上的多个储存库

来源:Perforce      作者:龙智      发布时间:2022-09-09

Subversion是一种集中式的版本控制系统,一般被简称为SVN。作为目前可用的众多版本控制选项之一,SVN依旧存在着分支功能弱、集中式导致服务器压力大等问题。
如果您的需求已经超过SVN所提供的功能范围应该怎么办?龙智将在系列文章中为您提供其他版本控制软件的实践参考。我们将从为什么使用SVN、SVN命令、托管储存库、如何使用客户端等角度对比Perforce Helix Core、SVN与Git,让您能够深入了解各个版本控制软件的优缺点。(请前往文末【往期推荐】中阅读已发布文章。)
作为DevSecOps研发安全运营一体化解决方案供应商,龙智持续关注版本控制领域动态与发展,为您提高最新洞察与最佳实践参考,帮助大型开发团队更好地进行数字资产管理与协作,提升研发效率。

SVN储存库是文件和目录的集合,不仅如此,它还记录着变更的完整历史记录。

现在的项目越来越复杂,一个项目通常有2个以上的SVN储存库。如何有效地对其进行管理呢?

一个SVN服务器上的多个SVN储存库

使用多个SVN储存库是组织和多样化数字资产的一种简单方法。例如,您可能同时拥有前端储存库和后端储存库。或者,您在一个储存库中有源代码,在另一个储存库中有二进制依赖项。

SVN服务器上可以设置多个储存库:

  • 安装SVN服务器。
  • 设置项目。
  • 创建储存库。
  • 使用根目录创建其他储存库。

您是否应该使用多个储存库

多个SVN储存库的一个典型用例是基于组件的开发。当数字内容需要不断复用和共享时,SVN开发人员通常会创建多个储存库。这种策略有助于区分数字资产之间的依赖关系,但很难有效地管理储存库之间的开发。

现实是,在SVN中分支和合并多个代码线并不是一个简单的事情。而且,在混合中添加多个储存库会更加复杂。当需要发布时,很难确保分支和储存库之间的更改被正确地集成到构建中。

多个SVN储存库面临的三个挑战

分支与合并

小型分支是公认的最佳实践。但在大型项目中,长期分支仍然是有用的,尤其是在开发未来版本时。这就需要将代码从一个储存库中的分支移动到另一个储存库中。但是SVN的分支功能无法很好的应对这个挑战。

SVN中,通过命名惯例来标识分支,分支和主代码线之间没有关系。这就很难识别需要在不同储存库的分支中传导的更改。

发布管理

当您使用两个或更多储存库时,质量控制和版本管理就会很困难。

假设您有一个专门用于开发的储存库,另一个包含主代码。要验证开发分支的修改是否进入了发布分支,是一个很麻烦的过程。

如果没有适当的控制和可追溯性,错误的构建和意外的代码冻结就会时常发生。

繁琐的变通方法

有一些解决方法可以简化多个SVN储存库的开发。您可以使用打补丁的方式,将更改从长期存在的分支复制到主干。但是,这需要涉及到一些深奥难懂的命令,也需要更多的监管。

开发团队也可以使用第三方多个储存库管理工具,如mr(mr是multiple repo的缩写,代表多个版本库)。使用mr命令,SVN开发人员就可以在一组储存库上执行签出、更新和其他操作,就像它们是一个综合储存库一样。但是,从在线社区来看,目前还不清楚这个工具是否被广泛使用,以及是否带来了真正的价值,或是否在其他方面让事情变得更加复杂。

虽然,一些解决方法可以减轻管理多个资源库的负担,但它们会造成复杂性和管理上的开销。

Perforce Helix Core: 一个处理多个储存库的更佳解决方案

您不需要使用各种变通方法来处理一个项目的多个SVN储存库,您的版本控制软件应该提供原生的方法来管理它们。

Perforce Helix Core是SVN的完美替代。它为用户提供了自己的工作区,让用户可以管理来自多个储存库的代码。它的客户端工作区让您可以访问和共享Perforce Helix Core服务器中的文件,而且您还可以无缝处理来自多个储存库的文件。

PerforceHelix Core使用标签,而不是储存库来管理多样化的数字资产。在Perforce Helix Core中,您可以为代码和制品库添加标签、名称和描述。当需要部署的时候,一切都井然有序。

无需使用额外工具

对于一个特定的项目来说,SVN用户通常拥有两个及以上的储存库。但是,SVN并没有使跨仓库的协作和分支变得简单,而是迫使你想出自己的解决方法。

如果使用Perforce Helix Core,您就不必依赖其他工具进行多个储存库开发,因为Perforce Helix Core就可以让储存库开发变得简单易行。通过使用Perforce Helix Core,您的协作能力将得到改进,同时它还能帮助您建立单一可信来源,并让发布管理更有效。

文章来源:https://bit.ly/3cVRqSv

如需从SVN迁移至Perforce Helix Core,或了解更多关于Perforce Helix Core的信息,请联系Perforce授权合作伙伴——龙智

官网:www.shdsd.com

电话:400-775-5506

邮箱:marketing@shdsd.com

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴