この付録では、SCCS マージ可能 ID (SMID) が必要な理由、SCCS デルタ ID (SID) から SMID への変換方法、および SMID から SID への変換方法について説明します。
この付録は、以下の節で構成されています。
SCCS マージ可能 ID (SMID) を使用すると、SCCS デルタ ID (SID) の変更に関係なく、すべてのデルタを一意に識別できます。SMID は、Xerox Secure Hash Function を使用して生成される番号です。フリーズポイントツールを使用してフリーズポイントファイルを作成すると、SCCS 履歴ファイル内の現在のデルタとルートデルタの両方について SMID が計算されます。この 2 つの値を使用することにより、フリーズポイントツールでは、SID が変更された場合でもファイル内のデルタを識別できます。
この節では、ワークスペース管理ツールを使用して SCCS 履歴ファイルをマージする方法を簡単に説明します。詳細は、第 10 章「ワークスペース管理ツールの利用法」を参照してください。
ワークスペース管理ツールは、更新ブリングオーバートランザクションの実行中にファイルの衝突 (ファイルが親ワークスペースと子ワークスペースの両方で変更された状態) を検出すると、親ワークスペースの新しいデルタを、子ワークスペースの SCCS 履歴ファイル内にマージします。このマージ処理では、子ワークスペースで作成されたデルタは、親子両方のデルタに共通するデルタ (共通の祖先) からの SCCS 分岐に移動します。
ワークスペース管理ツールでは、子デルタを分岐に移動する際にその SID を変更します。フリーズポイントファイルでのデルタの識別に SID を使用している場合は、この移動により、フリーズポイントファイル内の情報が無効になります。このため、衝突する SCCS 履歴ファイルをマージした後は、デルタの識別に SID を使用できません。
SMID と SID の変換は、フリーズポイントツールの CLI からのみ実行できます。
SID から SMID への変換および SMID から SID への変換には、freezept コマンドの sid サブコマンドおよび smid サブコマンドを使用します。これらの ID の変換は、デルタを追跡する独自のスクリプトまたはプログラムを作成する場合に使用すると便利です。
SID から SMID への変換には、freezept smid コマンドを使用します。構文は次のとおりです。
freezept smid [-w <ワークスペース名>][-r SID][-a] <ファイル名>
-r オプションは、SMID を計算する元の (<ファイル名> ファイル内の) SID を指定します。
-a オプションは、<ファイル名> ファイル内のすべての SID の SMID を計算する場合に使用します。
-w オプションを使用して、ワークスペースを指定できます。
example% freezept smid -r 1.38 module.c SID 1.38 = SMID“f5b67794 705f0768 a89b1f4 588de104”
example% freezept smid -a bringover.1 SID 1.1 = SMID“b05b0a2f 1db5246e 1a466014 707e38f5” SID 1.2 = SMID“d6s5c61f 5634f0ef 9847a080 d0d7b212” SID 1.2 = SMID“e31acdd5 6c1232e2 9e81c287 1edb2f41” SID 1.3 = SMID“c34c91b4 a818622a 2457356a 489b2728” SID 1.4 = SMID“98c0fd8d 889563fb cf722c2b 6afc9636” SID 1.5 = SMID“ble24be3 752fec3e df2d2717 a9b3f1fa” SID 1.6 = SMID“2b93d39 1ea2f6ba 9814320c bc609acb” SID 1.7 = SMID“1db7d640 42b0f009 35c60d7b b230bd85” SID 1.8 = SMID“906dfe9a ca7e2d6c a64da5be 4baef254”
SMID から SID への変換には、freezept sid コマンドを使用します。構文は次のとおりです。
freezept sid [-w <ワークスペース名>][-m “SMID”][-a] <ファイル名>
-m オプションは、SID を計算する元の (<ファイル名> ファイル内の) SMID を指定します。
-a オプションは、<ファイル名> ファイル内のすべてのデルタの SID を計算する場合に使用します。
-w オプションを使用して、ワークスペースを指定できます。
SMID にはスペース文字が含まれているので、SMID は引用符で囲む必要があります。
example% freezept smid -m“64fdd0df de9d7dd de75812 23da96aa”module.c SMID“f5b67794 705f0768 a89b1f4 588de104”= SID 1.36
example% freezept smid -a bringover.1 SMID“b05b0a2f 1db5246e 1a466014 707e38f5”= SID 1.1 SMID“d6s5c61f 5634f0ef 9847a080 d0d7b212”= SID 1.2 SMID“e31acdd5 6c1232e2 9e81c287 1edb2f41”= SID 1.2 SMID“c34c91b4 a818622a 2457356a 489b2728”= SID 1.3 SMID“98c0fd8d 889563fb cf722c2b 6afc9636”= SID 1.4 SMID“ble24be3 752fec3e df2d2717 a9b3f1fa”= SID 1.5 SMID“2b93d39 1ea2f6ba 9814320c bc609acb”= SID 1.6 SMID“1db7d640 42b0f009 35c60d7b b230bd85”= SID 1.7 SMID“906dfe9a ca7e2d6c a64da5be 4baef254”= SID 1.8 SMID“77481e8a 61542339 cc28f532 e5fc6389”= SID 1.9 SMID“cb97c9a6 d0342cf6 19b7b743 2436ca1c”= SID 1.10 SMID“46de4131 b96b9973 93958a07 b960074c2 = SID 1.11