PM見習いのよしなしごと

エンジニアもどきのよしなしごと改め。仕事とか関連の備忘録

PerforceのChangelist について

Changelist ってなんぞや

checkout(edit), add, delete などなど、Depot に登録されているデータを編集、Depot にファイルを追加、Depot のデータを削除しようとしたときに、その履歴が格納される場所。Submitされる単位。Submitする際や、Default Changelist をマージなども、このChangelist単位で行うことができる。

Git とかをざっくり検索してみた感じだと、ローカルリポジトリがそれに近いものみたい。

ローカルのリポジトリにデータをCommitして、作業上きりが良ければ push する。みたいな感じに使うところが大きいけど、同じファイルに対しては、変更をしてcommit, 変更をしてcommit。みたいな形で都度、変更をコメントつきでためておくことはできない。

*1

Changelist の作り方

p4v 上で add, checkout, delete をしようとすると、ダイアログウインドウが表示されて、3つの選択肢を提示される。

  • default に追加
  • 新しくChangelist を作る。
  • すでに作られているChangelist に追加

default changelist

changelist を指定せずにファイル類を編集などすると、格納されるchangelist

複数タスクを並行して行っていない場合は、default changelist にファイルを追加する形で作業を行い、Submit する際にコメントをつけるという形でも問題ないと思う。

もし複数タスクを並行して行っている場合は、タスク単位でChangelistを分けたほうが無難。でもこのへんは各開発グループごとの運用ルール次第で良いと思う。

新しくChangelist を作る。

default changelist の項目にも触れているけれど、複数タスクを並行して作業しているときなどには、changelist を分けていたほうがいいと思う。

わかりやすいし、default changelist からデータをSubmitする時に、一部ファイルだけチェックを入れてSubmitを行うよりは、作業開始前に分けておいたほうがいい。

新しくChangelistを作る場合は、コメントが必須になる。後で編集もできるので、一時的に適当なコメントをいれてもいい。コメントにもルールが決められているなら、そちらに従ったほうが良い。

Changelistが作成されたら、その時点での revision 番号がChangelistに付与される。このChangelistをSubmitする場合、他の作業者がSubmitをしていて、revision 番号が進んでしまっていた場合は、submit時点でのrevision番号に振り直される。

コメントを記載して、追加するファイルにチェックが入っていることを確認して、決定を押せば、p4v の Pendingというリストには default changelist と、コメントが記載されていて新しく作ったchangelistが表示されているはず。

すでに作られているChangelist に追加

default とは別に選択できるChangelist がある場合で、既存のChangelist にファイルを追加したい場合はこれを選択する。

Pending というリスト上で右クリックすれば、新規でのChangelistの作成、既存のChangelistの編集、Submitなどもできる。

Changelist の編集

  • コメントの変更ができる。
  • Changelistに追加しているファイルの移動ができる。*2
  • Pending リスト内でドラッグアンドドロップして移動させることもできるし、Changelist内でチェックを外して一旦default changelist に移動させてから、別のリストに振り直すこともできる。

Changelist のSubmit

  • Pending リストから、該当のChangelistを右クリックして、Submitを選択する。
  • 一度Changelistを開いてからSubmitボタンを押す。

*1:ローカルリポジトリは、P4 でPersonal Server のほうがそれっぽいというかむしろそれだよなぁとは思いつつ、Personal Server はあんまり使ったことはないので使ってみたいところがある。

*2:Submitのときにしかできないかもといううろ覚え状態ですみません。