Savepoint
gitのバージョン管理を「セーブ」「ロード」くらいでラップする
利用者はgitの煩雑さに煩わされることなく、以下ができる
今のファイルをセーブする
セーブしたファイルを一覧表示する
指定したファイルをロードする
ゲームのセーブデータみたいに直感的に扱えるわけよsta.icon*3
1
ゲームのセーブ画面の方がいい?
train.iconこの発想は、このゲーム(エロゲーだけど)をしなければ出てこなかった。繋がっているのさ。 要するにスロット(特定の番号と場所)を設けて、そこにセーブするって方式
たぶん人類の歴史だろうなぁsta.icon
ただセーブ並べるだけだと時系列にしかできないので覚えてない
スロットを導入することによって、「大体この辺に置いた」が使えるようになる
あとは実装
ラップできるのか?
いやできると思うけど
sta.iconの頑張り次第だろ
パット思いつくのは
衝突時どうする?(複数のクライアントから使う場合)
一覧表示どうする?
これはコミットidとセーブスロットを紐付ければいいか
local repoのinitializeどうする?
githubなどでremote repo使ってる場合のcloneはどうする?
UI……
まあまずはlocal repo限定でつくればいいんじゃね?
2 セーブ画面案で
gridの画面で、「ここにセーブします」を示すフォーカスを一つつくる
セーブ画面はファイル単位である
ファイルをD&Dすると、そこにセーブする
いや、ボタン押したらセーブ、でいいだろ
初回をD&Dで登録させるのはアリかもだが
いや、難しいぞこれ?
gitバージョン管理はdir単位だが、savepointはfile単位
どうやって相互変換する?
commit1: add a(a、ver1)
commit2: add b(b、ver1)
commit3: edit a(a、ver2)
commit4: edit b(b、ver2)
このとき、aをver1に戻したい(ver1のときにセーブしてたのをロードしたい)とする
普通にやればcommit1のロードになる
が、commit1時点ではbが存在しない=bも消えちゃう
ファイルaだけを取り出してロードする?
commit4においてそれやると、
commit5: edit a(a、ver3)
こうなるけど
Diary
2022/03/20 07:25:25 つくるほどのモチベは出てないわねぇ……