PlasticSCMで過去のchangesetに戻す
https://gyazo.com/622fbec455d863a2f3d3a760ee148531
Gluonで過去リビジョンに戻す場合、対象のchangesetを選択して戻すことができる
https://gyazo.com/57abbd5a0d4fb097dc21be3ccaf9629a
が、ディレクトリを選択してもchangesetが表示されない
というわけでコマンドラインでやってみる
まずはlsでchangesetをチェックしたいitemidを取得
code:ls.bat
cm ls --format="{itemid} {path}"
239 c:\Users\tm8r\wkspaces\mdl\chr\tst\base-01
次にリビジョンを取得
code:revision.bat
cm find revision where item=239
269 2021/05/18 17:24:31 ディレクトリ XXX c:\Users\tm8r\wkspaces\mdl\chr\tst\base-01#
br:/main#8
278 2021/05/18 18:19:24 ディレクトリ XXX c:\Users\tm8r\wkspaces\mdl\chr\tst\base-01#
br:/main#9
286 2021/05/18 18:27:33 ディレクトリ XXX c:\Users\tm8r\wkspaces\mdl\chr\tst\base-01#
br:/main#10
先頭の数字がリビジョン番号、「br:/main#」で始まるのがchangeset
(cm find changesetもあるけど、こっちは何故かitem指定ができなかった)
というところまで調べてhistコマンドがあることに気づいた
code:hist.bat
cm hist .\
D:2021/05/18 17:24 CS:8 B:/main
C:assign material
D:2021/05/18 18:19 CS:9 B:/main
C:modify date
D:2021/05/18 18:27 CS:10 B:/main
C:modify date2
Dが日付、CSがchangeset、Bがブランチ、Cがコメントを示している
ls同様format指定できるので、こんな感じで必要な部分だけ切り抜ける
code:hist2.bat
λ cm hist --format="{changesetid} {date}" .\
8 2021/05/18 17:24:31
9 2021/05/18 18:19:24
10 2021/05/18 18:27:33
あとはrevertコマンドで戻したい変更セットに戻せばよい
code:revert.bat
cm revert .#cs:9
PlasticSCMはSVNと違ってローカル変更が入ってないていで過去リビジョンに戻すことができないので、最新に戻すときは終わったらちゃんとundoしてあげないといけない
code:undo.bat
cm undo -r
c:\Users\tm8r\wkspaces\mdl\chr\tst\base-01\scenes\tst_base-01.ma チェックアウトが正常に解除され
ました