Troubleshooting
Problem
[Japanese] この技術情報は IBM® Rational® ClearCase® のリベース操作が以下のエラーメッセージを表示して失敗することについて説明し、この問題の解決策を提示しています。[
][
]
[]cleartool: エラー: ストリーム "Development_Stream" (ビュー "Shared_Dev_View"を使用中)の実行中のリベースが指定されたビューと一致しません。[]
Symptom
リベースのキャンセル操作が以下のエラーメッセージを表示して失敗します:
# cleartool rebase -cancel -view Dev_View
ストリーム "Development_Stream" でリベースを実行中です。
"Joe_User" によって 09/10/01 16:15:16 に開始されました。
cleartool: エラー: ストリーム "Development_Stream" (ビュー "Shared_Dev_View"を使用中)の実行中のリベースが指定されたビューと一致しません。
cleartool: エラー: ビュー "Dev_View" は、この操作を開始したビューではありません。
cleartool: エラー: リベースをキャンセルできません。
Cause
UCM ビューである Dev_View と Shared_Dev_View は Development_Stream という同じストリームに関連づけられています。
このリベース操作は最初に Shared_Dev_View によって開始され、 Development_View からキャンセル操作を実行しようとしています。
一般的にストリーム上で作業をする際にビューを変更することは可能ですが、リベース操作は同じビューから開始、完了、キャンセルを行う必要があります。
注:上記のエラーはリベースを開始したビューが削除されてしまっているか、または何らかの理由で ClearCase ネットワークにアクセスできない場合に発生します。
Resolving The Problem
開発ビューがアクセスできる状態で残っている場合
可能であればリベース操作は開始したビューからキャンセルします。
例:
上記のエラーを解決するために、 Shared_Dev_View: からリベースをキャンセルします。
# cleartool rebase -cancel -view Shared_Dev_View
開発ビューにアクセスできない場合
リベースを開始した開発ビューが ClearCase ネットワーク上で既に利用できなくなっているという状況があります。
ビューが既に存在していない、もしくは存在していてもアクセス不可の状態です。
注: ビューが存在していてもアクセス不可の場合、まずそのビューにアクセスできないという問題の解決を試すべきです。それからそのビューよりリベースの再開もしくはキャンセルを行います。ビューのアクセスが解決できない場合、以下の手順を実行した後、そのビューは壊れた状態で取り残され、削除する必要が出てきます。
リベースを開始したビューが使用できない状況でリベースのキャンセルを行うには、そのストリーム上のリベースの状態をリセットします。
注: 実行中のリベースは別の新しいビュー上で再開することはできません。一旦キャンセルし、新しい開発ビューでリベースをもう一度開始する必要があります。
- 新しいビューでリベースのキャンセルを試みますが、上記と同じエラーで失敗します:
C:\>cleartool rebase -cancel -view prj1_dev_vu2
ストリーム "prj1_dev" でリベースを実行中です。
"administrator" によって 2006/10/01 3:51:07 PM に開始されました。
cleartool: エラー: ストリーム "prj1_dev" (ビュー "prj1_dev_vu"を使用中)の実行中のリベースが指定されたビューと一致しません。
cleartool: エラー: ビュー "prj1_dev_vu2" は、この操作を開始したビューではありません。
cleartool: エラー: リベースをキャンセルできません。
Rebase in progress on stream "prj1_dev".
Started by "administrator" at 6/7/2006 3:51:07 PM.
cleartool: Error: Rebase in progress on stream "prj1_dev" using
view "prj1_dev_vu" does not match the view specified.
cleartool: Error: View "prj1_dev_vu2" is not the view in which you started this operation.
cleartool: Error: Unable to cancel rebase.
- 新しいビューでリベースの再開を実行した場合も同様です:
C:\>cleartool rebase -resume -view prj1_dev_vu2
ストリーム "prj1_dev" でリベースを実行中です。
"administrator" によって 2006/6/7 3:51:07 PM に開始されました。
cleartool: エラー: ストリーム "prj1_dev" (ビュー "prj1_dev_vu"を使用中)の実行中のリベースが指定されたビューと一致しません。
cleartool: エラー: ビュー "prj1_dev_vu2" は、この操作を開始したビューではありません。
cleartool: エラー: ストリーム "prj1_dev" (ビュー "prj1_dev_vu"を使用中)の実行中のリベースが指定されたビューと一致しません。
cleartool: エラー: リベースを再開できません。
- そのストリームのリベースの状態を列挙し、そのインテグレーションアクティビティを書き留めます:
注: インテグレーションアクティビティはリベースアクティビティとも呼ばれます。
C:\>cleartool rebase -status -stream prj1_dev@\PVOB1
Rebase 操作がストリーム "stream:prj1_dev@\PVOB1"で実行中です。
"administrator" によって "2007-06-06T15:51:07+09:00" に開始されました。
インテグレーション アクティビティ "rebase.prj1_dev.20060607.155107"を使用します。
ビュー "prj1_dev_vu" を使用します。
インテグレーション ストリームのベースライン:
baseline:comp2_INITIAL@\PVOB1
baseline:prj1_6_7_2006@\PVOB1
この操作に含まれるアクティビティ:
activity:testfix@\PVOB1
- インテグレーションアクティビティをダンプして、UCM_INTEGRATION_ACTIVITY 変数が state = 1 であることを確認します:
注: この状態で cleartool setact -none を使用してアクティビティを解除することはできません。このアクティビティは現在ビューに設定され、リベースに使用されているからです。 state = 0 になっていると使用されていないことになります。
C:\>cleartool dump -long activity:rebase.prj1_dev.20060607.155107@\PVOB1
rebase.prj1_dev.20060607.155107
oid=65ab151f.be174326.bd74.0d:b4:67:75:c1:96 dbid=182 (0xb6)
mtype=activity name="rebase.prj1_dev.20060607.155107" type=73
usid=NT:S-1-5-21-2901646739-668246498-978699657-500 gsid=NT:S-1-5-21-29016
master replica dbid=3
title="rebase prj1_dev on 6/7/2006 3:51:07 PM."
process definition uuid=511ffb23.373c4375.a60f.4c:03:2f:f9:91:83
...
Process variables:
name=UCM_INTEGRATION_ACTIVITY value=ver=1
state=1
...
- リベースを開始したストリームをダンプします。UCM_REBASE 変数に適当な数値が設定されていることが分かります:
注: そのストリームでリベースが実行中でない場合、 UCM_REBASE 変数は出力に列挙されません。
C:\>cleartool dump -long stream:prj1_dev@\PVOB1
prj1_dev
oid=9f2050b1.26244de0.aadd.88:75:70:18:6d:16 dbid=117 (0x75)
mtype=activity name="prj1_dev" type=85
usid=NT:S-1-5-21-2901646739-668246498-978699657-500 gsid=NT:S-1-5-21-29016...
master replica dbid=3
title=""
process definition uuid=c1c05e41.c72b44d1.b98a.4a:17:a3:77:25:66
state dbid=64
role dbid=52
user dbids: 106
config spec:
ucm
...
Process variables:
name=SUM_CSPEC_ID value=0:5
name=UCM_DELIVER_INTEGRATION_VIEW value=890d35ae.f03e4ec3.b8ad.a5:df:63:35:62:14
name=UCM_REBASE value=ver=2
...
- インテグレーションアクティビティの状態をクリアします:
C:\>ucmutil setpvar -pvar UCM_INTEGRATION_ACTIVITY -none activity:rebase.prj1_dev.20060607.155107@\PVOB1
ucmutil: Warning: VOB is replicated; can only repair objects mastered in this replica.
You are about to modify internal data. Any mistake will damage the objects.
Do you want to continue? [no] y
Set UCM_INTEGRATION_ACTIVITY = "" [cleared]
上記にある ucmutil ユーティリティの詳細につきましては、技術情報 1418466 ucmutil について を参照してください。
- 開発ストリーム上のリベースを終了します:
C:\>ucmutil setpvar -pvar UCM_REBASE -none stream:prj1_dev@\PVOB1
ucmutil: Warning: VOB is replicated; can only repair objects mastered in this replica.
You are about to modify internal data. Any mistake will damage the objects.
Do you want to continue? [no] y
Set UCM_REBASE = "" [cleared]
- ストリームをプロジェクトと同期させ、ストリームの構成を更新します:
C:\>cleartool chstream -generate stream:prj1_dev@\PVOB1
ストリーム "stream:prj1_dev@\PVOB1" を変更しました。
- ストリームの構成仕様に合わせるようにビューを更新します:
注: 先の手順でリベースのキャンセルを試した新しいビューを使います。
C:\>cleartool setcs -tag prj1_dev_vu2 -stream
- 新しい開発ビューがスナップショットビューの時は cleartool update を実行してビューとストリームを同期させる必要があります。
- 古い開発ビューからインテグレーションアクティビティを解除します:
C:\>cleartool setact -view prj1_dev_vu -none
cleartool: 警告: 設定が解除されているアクティビティ "activity:rebase.prj1_dev.20060607.155107@\PVOB1" にチェックアウトがあります。
現在のアクティビティをビュー prj1_dev_vu からクリアしました。
- 古いビュー上にチェックアウトがある場合は、 PVOB と全てのコンポーネント VOB 内のオブジェクトに対するチェックアウトを全てキャンセルする必要があります:
- describe コマンドにより、コンポーネント VOB にある古いビューへのチェックアウト リファレンスを確認します:
C:\>cleartool describe -long vob:\multivob
versioned object base "\multivob"
作成 2006-03-31T19:33:22+09:00 作成者 administrator.None@IBM-8D5F4F33A08
マスターレプリカ: original@\multivob
...
VOB は以下のビューからのオブジェクトを保持しています。
Ibm-8d5f4f33a08:C:\Rational\Storage\views\prj1_dev_vu.vws [uuid 3d0fb9ba.4c4640df.bc72.81:08:da:87:81:5d] 3d0fb9ba.4c4640df.bc72.81:08:da:87:81:5d
属性:
FeatureLevel = 4
ハイパーリンク:
AdminVOB@47@\multivob -> vob:\AdminVOB1
- 古いビューへの参照を確認し、それらを削除します:
C:\>cleartool rmview -avobs -uuid 3d0fb9ba.4c4640df.bc72.81:08:da:87:81:5d
ビューが存在する状態でビュー "\\Ibm-8d5f4f33a08\Rational\Storage\views\prj1_dev_vu.vws" を VOB から削除することはできません。
ビュー "\\Ibm-8d5f4f33a08\Rational\Storage\views\prj1_dev_vu.vws" の参照を VOB から削除しますか? [no] y
ビュー "\\Ibm-8d5f4f33a08\Rational\Storage\views\prj1_dev_vu.vws" の参照を VOB "\multivob"から削除しました。
注: 技術情報 1444191 (英語版 1122515) にさらに詳細な削除方法について解説しています。
- インテグレーションアクティビティは、中身が空の状態でチェックインバージョンが無ければ削除することができます:
- 中身が空でないため、インテグレーションアクティビティの削除が失敗しています:
C:\>cleartool rmactivity -force rebase.prj1_dev.20060607.155107@\PVOB1
cleartool: エラー: 変更セットにバージョンのあるアクティビティは削除できません。
cleartool: エラー: アクティビティ "rebase.prj1_dev.20060607.155107@\PVOB1@\PVOB1"
を削除できません。
注: このインテグレーションアクティビティは、バージョンがストリーム上でチェックインされているので削除する必要はありません。もし変更セットを空にして削除したい場合は、技術情報 1134544 にその手順が記載されています。( Windows の場合は技術情報 1146901 も参照してください。)
- 中身が空のため、アクティビティの削除に成功しています:
C:\>cleartool rmact -force rebase.prj1_dev.20060607.155107@\PVOB1
アクティビティ "rebase.prj1_dev.20060607.155107@\PVOB1" を削除しました。
- リベースはキャンセルされました。
C:\>cleartool rebase -status -stream prj1_dev@\PVOB1
ストリーム "prj1_dev" で実行中のリベースはありません。
- リベースは新規の開発ビューで開始することができます。
Related Information
Was this topic helpful?
Document Information
Modified date:
29 September 2018
UID
swg21449663