1 min read

Chinachuで録画履歴を消したらgit commit

うちでは普段からChinachuを使っていて、録画完了時にrecorded.jsongit commitしている。

その場合はChinachuから番組のjsonデータを受けられるので、それを使い、DATE TITLEという形でgitにcommitしている。

しかし録画履歴を削除した際にはそのようなデータの受け渡しが一切ないので、git diffから録画日時と番組名を抽出し、commitしてくれるシェルスクリプトを書いた。

事前にjqコマンドを用いてdiffを表示させてくれるように設定しておく。

git diffでjqコマンドを用いて表示させる

Chinachu/data/に移動してから

echo "*.json diff=json" >> .gitattributes
git config diff.json.textconv "jq -S ."

これだけで簡単にjsonの差分をjqを用いて見やすく表示してくれる。

本題のシェルスクリプト

録画履歴を1件削除したごとにこのスクリプトを実行してあげれば、delete DATE TITLEという形でcommit & pushしてくれる。

複数件削除した際にはなにもせず終了するはず。たぶん。

今まで手動でやっていた自分が馬鹿みたいだ。早くスクリプトを書いてしまえばよかった・・・