在我之前的开发者生涯中,clearcase 是 10 多年的版本控制工具。现在,我工作的组织已经迁移到 git 已有 4 年了。在清晰的情况下,有易于访问的元数据结构,例如所有级别的项目的属性,例如存储库或分支或标签。git notes 存在,但是经过一些网上冲浪后,我没有找到任何有效的好方法以及为什么。例如,UCM ClearCase 基线提升级别是一个很好的概念,我希望它在 git 中也很简单。
我代表这个特定问题的开发社区统计数据:< 100 个开发人员,< 5 个主要发布分支,< 100 个客户补丁分支,代码库大小:< 1000000 行代码。
因此需要一些适当的元数据策略和工具。
在明确情况下,存在以下元数据结构:
- 标签(常见用法:指出外部软件交付中包含的所有文件修订)
属性,可以应用于标签或分支:
- label 属性,可以有任何值,常用用法:告诉一个标签的状态:TEST_RESULT:OK|NOK or CUSTOMER_AVAILABILITY:GENERAL|LIMITED|INTERNAL_ONLY
- 分支属性,常用用法:BRANCH_STATUS:ACTIVE|OBSOLETE
UCM 基线,它是一种带有状态属性的标签形式(参见例如:https ://www-304.ibm.com/support/docview.wss?uid=swg21135893 )
- 超链接(例如用于指向合并方向)
尤其:
- 可用于 TEST_RESULT 的标签 + 属性构造
- 可以使 BRANCH_STATUS 清晰的分支 + 属性