Version control 我们如何才能最好地跟踪;释放点“;在我们的存储库中?

Version control 我们如何才能最好地跟踪;释放点“;在我们的存储库中?,version-control,build,jenkins,versioning,Version Control,Build,Jenkins,Versioning,我们有一些应用程序是由Mercurial存储库“管理”的。我们使用Jenkins构建发行版 一旦Jenkins建立了一个版本,我们就发布它,并继续使用新功能。然而,我们没有一个具体的方法来跟踪我们发布的版本。我们当然可以找到答案,但要完成它需要一些工作 如果任何给定的版本出现问题,我们需要找到失败的版本,并且需要很多“回溯”。我们不能简单地修复存储库“head/trunk”中的bug,因为我们可能已经引入了新特性。我们想要的是一种快速获得我们发布的版本、修复bug并再次发布的方法 这方面有“最佳

我们有一些应用程序是由Mercurial存储库“管理”的。我们使用Jenkins构建发行版

一旦Jenkins建立了一个版本,我们就发布它,并继续使用新功能。然而,我们没有一个具体的方法来跟踪我们发布的版本。我们当然可以找到答案,但要完成它需要一些工作

如果任何给定的版本出现问题,我们需要找到失败的版本,并且需要很多“回溯”。我们不能简单地修复存储库“head/trunk”中的bug,因为我们可能已经引入了新特性。我们想要的是一种快速获得我们发布的版本、修复bug并再次发布的方法

这方面有“最佳实践”吗?一个好方法是让Jenkins标记它正在构建的版本吗?

使
MERCURIAL\u版本
MERCURIAL\u版本号
变量可用于构建脚本。如果您在发行版中包含此编号,无论是在(单独的)文件中还是编译到程序中,并且可以在“关于”屏幕或其他地方访问,您应该能够使用此编号查找代码的正确版本

有关从mercurial获取更多信息的提示,请参见

更新:如何在代码中包含修订取决于编程语言、编译器和您使用的构建语言类型