Helix Coreサーバに接続していない環境での開発手順
目次
Helix Coreサーバに接続せず、クライアントワークスペース内のファイルを操作する手順を紹介します。また、Helix Coreサーバに再接続した後にワークスペースを調整する方法も説明しています。
手順
Helix Coreサーバから切断しても、クライアントワークスペースでの作業は可能です。ただし、切断された状態で作業しているため、サーバ機能にアクセスできません。また、オフラインでの作業中(電車や車の中で作業する等)にバージョン管理されたファイルに変更を加えると、ワークスペースがHelix Coreサーバのメタデータと矛盾するようになります。
Helix Coreサーバに再接続するときは、オフラインでの変更を調整する必要があります。
オフラインで作業する
デフォルトでは、Helix Coreサーバはワークスペース内の未開封のファイルを全て"読み取り専用"として保持しています。オフラインで作業する場合は、ファイルを編集する前に"書き込み可能"にする必要があります。
Linuxのコマンド例:chmod +w <filename>
Windowsのコマンド例:attrib -r <filename>
"allwrite"オプションを設定することにより、常に"書き込み可能"なワークスペースのファイルとして保持することもできます。詳細については"p4 help client"をご確認ください。
オフライン作業後の調整
サーバの外部で行われたワークスペースの変更とHelix Coreサーバ調整する方法について説明します。
P4Vを使用してオフライン作業を調整する
1.P4Vでサーバに接続します。
2.[ ワークスペース ]タブをクリックし、対象のフォルダを選択します。
コンテキストメニューの[ 非接続の作業を調整する ]を選択します。
3.変更のリストが表示されるので、内容を確認し、[ 作業を照合 ]をクリックします。
※ "このワークスペースに…"にチェックを入れると、P4IGNOREファイルにリストされている
ファイルとディレクトリはこの調整から除外されます。
■ 差分を確認する場合
① 対象のフォルダを選択し、コンテキストメニューの[ 比較対象 ]をクリックします。
② "ファイルを比較する"が表示されるので、以下の箇所を選択します。
1番目:最新リビジョン
2番目:ローカルディスク上のワークスペースのバージョン
③ "フォルダdiff"が表示されます。画面の見方は以下の通りです。
・上部の青い矢印アイコンをクリックしてファイルの違いを確認できます。
(差分の個数によって、グレーアウトしている場合もあります)
・紫色:変更。変更を編集またはチェックインする場合はコンテキストメニューの[ チェックアウト ]を
選択します。
・黄色(または茶色):追加。コンテキストメニューの[ 追加用にマーク ]を選択してファイルを
追加できます。
・取り消し線:削除。このファイルを削除する場合はコンテキストメニューの[ 削除対象としてマーク ]を
選択します。
※ Ctrlキーや Shift キーを使用して複数のファイルを選択することができます。
P4コマンドラインを使用して調整する
■ "p4 reconcile"コマンドの使用(Version2012.1以降)
"p4 reconcile"を使用すると、ファイルを追加、削除、編集目的で作業状態にし、Helixサーバから切断された状態で加えられた変更とワークスペースを一致させることができます。
追加、削除、編集目的で作業状態にするファイルの出力をプレビューし、オフライン作業での変更内容とワークスペースとを一致させるには"p4 status"を使用できます。
"p4 status"および "p4 reconcile"については『 Helix Core P4コマンドリファレンス』をご覧ください。
■ P4コマンドラインクライアントの使用(Version2012.1より前)
※ ここではワークスペースルートが"/testclient"(UNIX)または"c:\testclient"(Windows)である"myclient"という名前のクライアントを使用しています。
① 存在しなくなったファイルを「削除」目的で作業状態にします。
p4 diff -sd //myclient/... | p4 -x - delete
"p4 diff -sd"は、対応するワークスペースファイルがないディポファイルの名前を表示します。
ワークスペースから削除した全てのファイルが削除用で作業状態になります。
② 変更されたファイルを「編集」目的で作業状態にします。
p4 diff -se //myclient/... | p4 -x - edit
"p4 diff -se"は、ディポに保存されているリビジョンと異なる、クライアントワークスペース内の作業状態にないファイルの名前のみを表示します。
③ 新しいファイルを見つけて「追加」目的で作業状態にします。
cd /testclient
find . -type f -print | p4 -x - add
※ 上記のコマンドはシンボリックリンクを追加しないことにご注意ください。
『Adding a Directory Tree(英文)』をご参照ください。
cd c:\testclient
dir /s /b /a-d | p4 -x - add
※ "dir"コマンドのオプションについては、Windowsのヘルプをご確認ください。
directory :testclient
files -f -q -r -s | p4 -x - add
これらのコマンドは、ワークスペースパス内の全てのファイルを新しいディポファイルとして追加登録します。
既に存在するファイルについては「既存のファイルを追加できません」というエラーメッセージが表示されますが、このエラーは無視できます。
これで、ワークスペースで作成した全ての新しいファイルが「追加」目的で作業状態になります。
DVCS(分散バージョニング機能)を使用してオフラインで作業する
Helixサーバ(またはHelixサーバの一部)のクローンである独自のパーソナルサーバをセットアップすることができます。
オフライン作業でファイルに変更を加え、自分の個人用サーバとワークスペースに送信し、Helixサーバにアクセスできるようになったらすぐに"push"することができます。またHelixサーバから"pull"することで、パーソナルサーバを最新の状態に保つこともできます。
詳細については『分散バージョニング環境におけるHelix Coreサーバの利用』を参照してください。
※ 個人サーバを作成するには、Helixサーバ(P4D)がインストールされている必要があります。
インストールについては『Helix Coreサーバ管理者ガイド - サーバをインストールする』をご覧ください
■ コマンドラインを使用する
"p4 clone"コマンドを使用して、個人サーバを作成できます。filespec(例えば"//depot/dir/...")を使用するか、リモート仕様を使用してクローンを作成できます。
ローカルサーバ(ワークスペース)が含まれているフォルダに移動し、通常のHelixサーバ接続時と同じようにこのワークスペースを使用します。このディレクトリでは、クライアントとの接続先のサーバは、個人サーバに変更する必要があります。
"p4 fetch"コマンドは、個人サーバにHelixサーバからファイルを取得するために使用されます。Helixサーバを更新するには、"p4 push"コマンドを使用できます。
"p4 clone"および "p4 fetch"・"p4 pull"・"p4 push"については『 Helix Core P4コマンドリファレンス』をご覧ください。
■ P4Vを使用する(P4V 2018.4以降)
P4Vでの個人サーバ作成手順は以下のページをご参照ください。