Plastic SCMを使ってみようと思った⑤

# はじめに
[前回はGluonを使って分散型だけど集中型みたいなチェックインができることを確認](https://qiita.com/Accky/items/17c106e2fc9925345b79)したので、次は気になっていた機能であるところのコードレビュー機能を試したいと思います。
Githubでいうところのプルリク、Gitlabでいうところのマージリクエスト的なワークフローをする際に必要になるこの機能を、ツール上で完結できそうなのでとても楽しみです。

と思ったのですが少し気になったことがあったのでそちらにまず触れます。

# クラシックGUIにもどす
直近までGluonを使ってリポジトリを操作していたのでクラシックGUIに戻します。前の記事でも少し触れましたが、partial modeをfull modeに切り替える必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/83d4f039-29e8-d192-e7b7-dbabf977e5d3.png)
Run an updateすると警告が消えます。

# Sync to Cloudを見てみると
リポジトリの状態を確認しようと思ってSync to Cloudを表示すると、あれえ、Pushされてない？
チェックインしたときに同時にPushされたものだと勝手に思い込んでいましたが、もしかしたらされていないのか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/809df639-6b6b-4f66-584f-67e1c9634381.png)

# どうやらGluonがlocalを使っているようだ
何もせずに勝手に設定がされていたからそのまま使えばよいかと思っていたけど、設定を色々確認してみたところワークスペースがlocalを指していた模様。
ということは、分散型ワークスペースのローカルリポジトリに画像ファイルを追加していただけ、ということなのか……。そりゃpushが必要になりますわ。それなら自動で設定しないでほしかったな……。

軽く打ちひしがれながら、改めて設定をやり直すことにします。Switch workspace... のボタンを押すとこのような画面が表示されました。左メニューのCreate a new workspaceを選びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/7949b31f-7332-aafe-0ef2-f381c20814d7.png)
そうするとリポジトリを選択or作成する画面が表示されるので、すでに作成済みのテストリポジトリを指定します。「…」ボタンを押し、Serverのプルダウンをlocalから自分のクラウドサーバーをすると、リポジトリが表示されるので、そちらを選んでOKを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/4bcbc820-1b5b-ea69-ae18-47630257e3d7.png)
そうするとCreate a new workspaceに必要な情報が入力されるのでOKを押すだけです。
今回はworkspace名に自動で_2がつけられました。２つ目だからですかね？あとは例によってワークスペースの保存場所を変更しました。

あとは作成されたワークスペースを選択して開いてみます。（同時にSwitch branchでブランチを開発ブランチに切り替えました）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/0657750e-a46b-d00c-659b-0a82ab41898a.png)

# まっさらなワークスペースが開いた
ワークスペースの中身はファイルがなにも入っていない状態でした。リポジトリの最新ファイルを落としてくれるのかな？と勝手に思い込んでいたのですがそうでもないようです。
[こちらのドキュメント](https://www.plasticscm.com/gluon-in-detail)を見ると、アーティストが必要に応じてファイルをダウンロードするようにしている、と書いてありました。

うーん……結局最新をキープしたくなるんじゃないかなあ？と思いましたが、ひとまずそれはそれ。ファイルをダウンロードしてみることにします。

# ワークスペースのファイルをダウンロードする
Explore workspaceの画面でConfigureボタンを押したら以下のよう表示がされました。おそらくここで必要なファイルをチェックしてApplyしたらダウンロードできるに違いない。
というわけでテキストファイルにチェックを入れてApply。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/b2ee5201-e76a-2f64-e4dc-fc8d58c4780f.png)
というわけで無事ワークスペースにファイルがダウンロードされました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/c0d499bd-290f-b017-fe4a-2dc2b0ca2e58.png)

# あとは前と同じことを
というわけで、前回の記事同様に画像ファイルを足してみようと思います。早速[いらすとやさん](https://www.irasutoya.com/2017/08/blog-post_7.html)から画像を拝借して、ファイルをワークスペースに配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/892a0e41-cc4a-230f-0c86-59789205711f.png)
次にCheckin changesタブでチェックインコメントを入力して、ファイルにチェックを入れて、チェックインボタンをぽちっと。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/b9859060-0957-2563-1cf4-db6eec7d4b21.png)
無事管理状態になりました。今度はサーバのブランチに直接チェックインしているはず……！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/be4dc600-83f1-93f2-d781-504eff859910.png)

# クラシックGUIで確認してみる
早速クラシックGUIを起動して、Sync to Cloudタブを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/7b30aa14-4458-d03d-ad8c-188b0f9b4d1f.png)
おおっ更新をpullできるようになってる！やったぜ！
というわけで喜び勇んで早速Pull visibleを実行。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/3b1375b3-3dbd-231c-8695-ca1d66ed8f7d.png)
無事同期されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/9d348213-711c-6069-8535-8a676b0a3c06.png)
が……なぜか画像ファイルが落ちてきていない？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/49f600b8-e839-b9a7-c099-5938d8507e56.png)
あれぇ？なぜ？と思いながらGUIをいじっていると、ブランチが一つ前の状態のままだった模様。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/c933ef1b-4e02-9900-9acd-a9fe97067812.png)
なので、早速最新のブランチに切り替えてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/c248df86-3710-194e-9aa1-337bbea5f8d0.png)
無事ファイルが取得できました！めでたしめでたし。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/a612731f-b328-ffe0-2efe-b87877b40243.png)

# クラシックGUIで前回の更新(changeset)を消してみよう
Gluonで直接リモートリポジトリに変更を加える方法がわかったので、前回Gluonがlocalリポジトリに行った変更を消してしまいましょう。（※この作業は実際にはGluonで画像ファイルを足す前にやりましたのでご注意ください）

といっても簡単で左メニューのChangesetsを選び、前回の画像を追加したchangesetを選択し、右クリックメニューでDeleteするだけでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294857/3d827f13-2838-959c-4a20-b5dba6c3fed9.png)
Advancedの中に含まれているということはあまりうかつに実行して良いコマンドではないような気はしますね。バージョン管理の思想的には、削除したことも履歴に残したほうが良いとは思います。
今回は特殊な事情だったのと、changesetの削除を試したかったというのもあります。

# おわりに
コードレビュー機能は全く試せませんでしたが……Gluonの正しい使い方？を理解できました。
リモートリポジトリを使って作業をしても、[前回のGluonに関する感想](https://qiita.com/Accky/items/17c106e2fc9925345b79)はほぼ変化はないです。
勝手にローカルリポジトリを対象に作業していたというのにもう少し早く気付けたら良かったなあ……。

次はちゃんとコードレビュー機能をためしたいなあ。ていうかこのドキュメンタリー方式の一連の記事、無駄が多いからどっかでまとめ直したいですなあ。
それまではこの記事をご覧になっている皆様、きりがつくまでは私の四苦八苦しているさまをご笑納くださいませ。