以前の開発者生活では、clearcase は 10 年以上にわたってバージョン管理のためのツールでした。現在、私が働いている組織は 4 年ぶりに git に移行しました。clearcase には、リポジトリ、ブランチ、ラベルなど、アイテムのすべてのレベルの属性など、簡単にアクセスできるメタデータ構造があります。git notes は存在しますが、いくつかの Web サーフィンの後、これを効率的に行うための明確な良い方法とその理由を見つけられませんでした。たとえば、UCM ClearCase のベースライン プロモーション レベルは良い概念であり、git と同じくらい単純であることを望みます。
この特定の問題について私が代表する開発コミュニティの統計: < 100 人の開発者、< 5 つのメジャー リリース ブランチ、< 100 のカスタマー パッチ ブランチ、コード ベースのサイズ: < 1000000 行のコード。
したがって、適切なメタデータ戦略とツールが必要です。
clearcase では、次のメタデータ構造が存在します。
- ラベル (一般的な使用法: 外部 SW 配信に含まれるすべてのファイル リビジョンを指摘する)
属性、ラベルまたはブランチに適用できます:
- label 属性、任意の値を持つことができます、一般的な使用法: ラベルのステータスを伝える: TEST_RESULT:OK|NOK または CUSTOMER_AVAILABILITY:GENERAL|LIMITED|INTERNAL_ONLY
- ブランチ属性、一般的な使用法: BRANCH_STATUS:ACTIVE|OBSOLETE
ステータス属性を持つラベルの形式である UCM ベースライン (例: https://www-304.ibm.com/support/docview.wss?uid=swg21135893を参照)
- ハイパーリンク (たとえば、マージ方向を示すために使用)
特に:
- TEST_RESULT に使用できるラベル + 属性の構成
- branch + BRANCH_STATUS を明確にすることができる属性