Plastic SCMではまったもの
Plastic SCMとGitの用語の違い
Plastic SCMの分散型はクライアント側のローカルサーバーと中央型のサーバーの間をpush/pullで同期する事で実現している。そのためGitの分散リポジトリをイメージすると理解が難しくなる。
どちらかと言えばsubversionと似ている。
Plastic SCM | Git | 補足 |
---|---|---|
repository | bare repository | 変更履歴のみを持ちworking treeは持てない |
workspace | working tree | repositoryからcheckoutして作成する。その中にcheckinしたファイルが入っている |
checkout | clone | repositoryのファイル群をworkspaceに取り出す |
checkin | commit | サーバーへ差分を送信してrepositoryへ履歴を追加する |
update | pull | サーバーへcheckinされた差分をworkspaceへ反映する |
参照
Plastic SCMのGUIを英語表示にする
11.0.16.7608から新しいGUIでもマルチバイト表示がサポートされたので文字化け対策のためなら英語表示に変えなくても問題ありません。
11.0.16.7608より前のPlastic SCMのGUIはOSのロケールによって自動的に表示言語が決定されるがマルチバイト文字の言語だと文字化けする。
英語表示にするには %LOCALAPPDATA%\plastic4\client.conf
を開き
<Language>ja</Language>
を11.0.16.7134
より前の場合はen
だとja
に戻ってしまうので
<Language>force_en</Language>
11.0.16.7134
以降の場合はen
でも上書きされなくなったので
<Language>en</Language>
へ変更する。
client.conf
のパスは以下のコマンドでも確認できる
cm getconfig location
Plastic SCMで設定をやり直したい時
%LOCALAPPDATA%\plastic4
フォルダを削除もしくはリネームしてPlasticSCMを起動すると初期設定をやり直せる
Plastic SCM Cloud Editionのローカルサーバー
Cloud Editionをインストールするとローカルサーバーがサービスから起動されるようになりlocal
という名前でクライアントからアクセスできるようになる。これはEnterprice Editionのオンプレミスやセルフホストのサーバーとは異なり分散型の時に使うサーバーでポート番号8084
が使われている。
Cloud Editionは organization_name@cloud
でPlastic Cloudのリポジトリにアクセスできるが local
にリポジトリを作りそこからcheckoutしてworkspaceを作るとローカルのみで運用できる。
また、適当なポートを127.0.0.1:8084へポートフォワードすると他のPCからアクセスできるようになる。
Windowsの8087ポートで公開する場合は
- 管理者権限で以下のコマンドを実行する
netsh interface portproxy add v4tov4 listenport=8087 connectport=8084 connectaddress=127.0.0.1
- ファイアウォールでTCP8087ポートを開放する
Plastic SCMのCLI
GitやSubversionを使ったことあればCLIガイドで大体把握できそう
ファイルの内容で差分検出
Plastic SCMはデフォルトでファイルのタイムスタンプのみで差分検出するがUnityやUnreal Engineでは不都合があるので以下の設定でファイルの内容で差分検出させる。
Plastic GUIの場合
Plastic Gluonの場合
GUIで設定を変更すると %LOCALAPPDATA%\plastic4\client.conf
の以下の値が no
から yes
へ変更されるのでこっちを直接書き換えても良い。
<CheckFileContentForChanged>yes</CheckFileContentForChanged>
GitSync
GitHubで二要素認証が有効な時はアクセストークンをパスワードに設定する
過去ログが見えない時
デフォルトのフィルターに find changeset where '1 months ago'
が指定されているので以下のように条件を削除すると全てのログが見える。
cm find changeset
参考
コマンドでSync Viewと同等の操作を実行する
ワークスペースの移動制限
Windowsではドライブをまたいでワークスペースを移動できない
$ cm wk ls local
Test@local C:\Users\shiena\wkspace\Test
$ cm wk mv Test@local Test D:\wkspace\Test
エラー: Source and destination path must have identical roots. Move will not work across volumes.
ローカルリポジトリのパス
過去に作ったリポジトリが残っていると無駄なディスク容量を消費するので注意
C:\Program Files\PlasticSCM5\server\jet
上記フォルダにはrep_1
、rep_2
のようなフォルダがあり以下のコマンドのrepid
とフォルダ名の数字の部分が対応している。リストに出力されないrepid
のフォルダは使われないので削除しても構わない。
cm repo list local --format="{repid} {repname}"
日本語リポジトリ作成時の注意
日本語を含むUE4プロジェクトフォルダでPlasticSCMプラグインからリポジトリを作るとリポジトリ名が文字化けする。開発元は#34で対策済みなので以下の1.6.0以上のプラグインへの更新をおすすめする。
GitSyncは共通のリポジトリに対して行うべき
GitSyncで一度同期するとそのPlasticSCMリポジトリをクローンしたリポジトリとGitリポジトリを同期できない。そのためメンバー全員がアクセスできるクラウド側のリポジトリとGitSyncしないと不便になる。