Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用标签处理并建议Mercurial中的版本号,如何处理分支_Mercurial_Branch_Versioning - Fatal编程技术网

使用标签处理并建议Mercurial中的版本号,如何处理分支

使用标签处理并建议Mercurial中的版本号,如何处理分支,mercurial,branch,versioning,Mercurial,Branch,Versioning,我正在为Mercurial开发一个扩展,它可以使用Mercurial标记处理版本号。目前,它会检查指定的版本号与存储库中其他版本号的顺序是否正确,以及是否与前一个版本号相差不远 但是,目前只有当存储库只有一个分支时,它才起作用。我正试图让它在分支机构的回购协议上运作,还有更多的分支机构,在发展方向不同的回购协议上,类似于未命名的分支机构。其中一个棘手的部分是定义用户能做什么和不能做什么。例如,如果分支A上有分支B上的版本1.1和1.0.1,我认为分支B应该始终保持在1.1以下。由于我不熟悉分支开

我正在为Mercurial开发一个扩展,它可以使用Mercurial标记处理版本号。目前,它会检查指定的版本号与存储库中其他版本号的顺序是否正确,以及是否与前一个版本号相差不远

但是,目前只有当存储库只有一个分支时,它才起作用。我正试图让它在分支机构的回购协议上运作,还有更多的分支机构,在发展方向不同的回购协议上,类似于未命名的分支机构。其中一个棘手的部分是定义用户能做什么和不能做什么。例如,如果分支A上有分支B上的版本1.1和1.0.1,我认为分支B应该始终保持在1.1以下。由于我不熟悉分支开发中管理版本编号的许多不同方法,我想收集用例以及如何处理它

所以,我想知道是否有人已经做过这方面的研究,或者知道有什么好的资料可以帮助我解决这个问题。您还可以提交要处理的用例

显然,我做了一些研究,但我找不到任何真正相关的东西。可能是因为我不知道如何用一种简洁而全面的方式来表达这个问题

编辑:以下是我现在想出的规则:

在每个分支上,版本号应高于上一个分支,但不能太高 创建分支时,可以将任何版本号设置为高于上一个版本号。 在每个分支上定义第一个版本号时,将定义整个分支的顺序。一根树枝永远追不上另一根。 这些规则由所有其他分支继承。 当合并两个分支实际上是恼人的部分时,常见的善变态度是考虑合并的结果作为本地分支的一部分。就我而言,这似乎不是正确的行为。如果将1.0.3分支与1.0.3中的1.1.0版本合并时,您只能使用1.1.0以下的版本,因为此分支低于另一个分支,这将非常奇怪。我在这里建议的解决方案是始终将合并视为最高分支的一部分,否则某些分支将倒退。 你能告诉我这是一致的还是遗漏了一些重要的用例吗

问题的第一部分仍然是主题。如果你知道关于这个主题的任何相关信息,或者如果你知道一个类似的问题,请告诉我。毕竟,它是树中唯一的编号规则