版本控制:经常单独发布的备用程序文件的最佳工具

时间:2010-11-23 09:43:35

标签: version-control versioning bug-tracking

早上好。 这次是关于版本控制工具的一般性问题。 在我的房子里,15人在ACU COBOL工作,为药房制作管理软件。 我是唯一的.NET人员,从事其他集成工作。 这个管理sw由300-400个程序组成,我的同事经常修改和发布备用zip包中的程序;这种理念类似于Linux发行版中的“滚动发布”。

在这种工作环境中,版本控制工具如何才能做到最好? 现在他们不使用任何版本控制工具,所以他们没有先入之见:只是学习和使用的新东西。 他们需要使用各种标签跟踪程序的更改,因此当他们必须发布修复程序(zip包)时,他们可以进入存储库并获取标记的已修改程序以实现特定请求。 我们正在考虑Mercurial和Trac,但我想知道其他开发人员是否有更好的工具来管理我们的特定工作和发布流程。

谢谢! 南多


谢谢VonC! 我会尝试更好地满足我们的需求。

那么,跟踪历史记录对我们很重要,因此VCS(像Mercurial这样的DVCS)可能是一个不错的选择。

现在,源代码管理是手工完成的:我们使用一个文件夹作为主干,开发人员在哪里工作。在努力解决错误或实施新的“紧急”功能请求时(我们与药店合作,受到我们不能忽视的数千种不同法律的影响......),他们在Excel(!)电子表格上写下哪些程序受其工作影响;完成后,他们在发布模式下编译这些程序,构建zip,然后将它们发布到我们的自定义Web应用程序上,我们的sw分销商可以将其发布并将其发布到他们的客户自定义前端(使用我们的管理sw)可以得到更新。

我们需要跟踪这种工作方法:

  • Bug o迫切需要实现的功能 - >
  • 生成故障单(发布,跟踪,按照您的意愿调用它,但是注释在哪里注册以自然语言完成的工作以及帮助台 - 不是开发人员可以理解完成的工作) - &gt ;
  • 工作& debug - >
  • 标签(如“fix-123”)受此票证影响的程序 - >
  • 在主干中提交 - >
  • 仅获取已修改的程序,按标签“fix-123”搜索 - >
  • 仅编译这些程序 - >
  • 构建zip和release(以我们的自定义方式,这并不重要)。
  • Mercurial可以是一个解决方案,但我只想知道是否有其他人有这些相同的问题,以及如何解决它们。

    谢谢! 南多

    1 个答案:

    答案 0 :(得分:0)

    我建议区分:

    • 源代码管理(在VCS存储库中管理,可以是Subversion的中心版本,也可以是Mercurial或Git的分散版本:请参阅differences between DVCS and CVCS)。在SO answer
    • 中列出了在企业环境中设置VCS的更多问题
    • 发布管理(使用像拉链这样的二进制工件,在更通用的存储库中更好地管理,例如使用Nexus的maven)。
      您经常发布的事实意味着您将不得不“清理”一些您不再需要的旧版本(以及哪些版本,发布后发布,您的磁盘空间以及备份):删除旧工件要容易得多在Maven仓库(例如)中,而不是在任何VCS工具中(设计 保留历史记录!)