Open13

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でもマルチバイト表示がサポートされたので文字化け対策のためなら英語表示に変えなくても問題ありません。
https://www.plasticscm.com/download/releasenotes/11.0.16.7608#11.0.16.7608-new-8

11.0.16.7608より前のPlastic SCMのGUIはOSのロケールによって自動的に表示言語が決定されるがマルチバイト文字の言語だと文字化けする。
https://forum.plasticscm.com/topic/23297-some-japanese-characters-are-garbled/

英語表示にするには %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>

へ変更する。

https://www.plasticscm.com/download/releasenotes/11.0.16.7134#11.0.16.7134-new-4

client.confのパスは以下のコマンドでも確認できる

cm getconfig location

https://forum.plasticscm.com/topic/23189-client-not-respecting-conf-file-language/#comment-45377

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ポートで公開する場合は

  1. 管理者権限で以下のコマンドを実行する
    netsh interface portproxy add v4tov4 listenport=8087 connectport=8084 connectaddress=127.0.0.1
    
  2. ファイアウォールでTCP8087ポートを開放する

ファイルの内容で差分検出

Plastic SCMはデフォルトでファイルのタイムスタンプのみで差分検出するがUnityやUnreal Engineでは不都合があるので以下の設定でファイルの内容で差分検出させる。

Plastic GUIの場合

Plastic Gluonの場合

GUIで設定を変更すると %LOCALAPPDATA%\plastic4\client.conf の以下の値が no から yes へ変更されるのでこっちを直接書き換えても良い。

<CheckFileContentForChanged>yes</CheckFileContentForChanged>

過去ログが見えない時

デフォルトのフィルターに find changeset where '1 months ago'が指定されているので以下のように条件を削除すると全てのログが見える。

cm find changeset

cm find

参考

ワークスペースの移動制限

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

https://forum.plasticscm.com/topic/22579-location-of-local-repository/

上記フォルダにはrep_1rep_2のようなフォルダがあり以下のコマンドのrepidとフォルダ名の数字の部分が対応している。リストに出力されないrepidのフォルダは使われないので削除しても構わない。

cm repo list local --format="{repid} {repname}"

日本語リポジトリ作成時の注意

日本語を含むUE4プロジェクトフォルダでPlasticSCMプラグインからリポジトリを作るとリポジトリ名が文字化けする。開発元は#34で対策済みなので以下の1.6.0以上のプラグインへの更新をおすすめする。

https://github.com/PlasticSCM/UE4PlasticPlugin/releases/tag/1.6.0
ログインするとコメントできます