mkworks

シムトラ関係のエントリーまとめ群

Dropboxとgithubを用いたバックアップと共有を目指したアドオン開発手法

4月からブログ書いていなかった事に今更ながら絶望しています、八神です。
今回はある産業セット*1の開発から試行錯誤をしながら取り入れているアドオン開発手法についてまとめていきます。

Dropboxだけで管理する

まずは現行のアドオン開発手法についてまとめます、今はDropboxにファイルを転がしておくという形を取っています。
画像ファイルについてはある程度の区切りで別名で保存し最終的にpngに書き出すという方法を取っていますが、この方法ではファイルの管理が煩雑になるという問題が発生してしまいます。

対照的にdatについてはただ上書きするだけというとんでもない状態で管理しており、何かミスするとエディタのアンドゥ機能に頼らざるを得ないという事が日常的になっていました。
こんな状況からの脱却と新たな開発手法をまとめるためにgithubを併用し始めました。

githubで管理する

ファイルのバージョン管理はバージョン管理ソフトのお家芸、そこでgithubを使うことにしました。
元々、プログラム開発において使い慣れていたSubversionが使いこなせなかった)のと共有という新たな考えを取り入れてのことです。
ここまでならば格好いいですが、ここからが問題になってました

ファイルを自動的にcommitしたい

バージョン管理において必要なのはファイルの追加とファイルの変更通知、githubを併用するのならpushも必要になりますね。
画像ファイルをpngへ書きだしてからコマンドをいちいち叩いていたのですが、仮に1回でもcommitやpushし忘れたらゾッとしませんか?

inotifyの出番

以前に調べていたこととして「ディレクトリの監視」というのがあり、そこで知ったのがinotifyというLinuxカーネル2.6から組み込まれたツールです。
それを使えば目的は達成するのでは?
と思いインストールしてサイトのサンプルを参考にファイルの追加とcommitとpushを行うスクリプトをまとめました、それはgithubの現在作業中のリポジトリにまとめられております。

作業フローの変更

これに合わせて作業フローにも変化が発生しました、所々で「画像を書き出す」とありますが画像編集ソフト(GIMP)の独自ファイルが番号をつけて保存していました。
それを1つのファイルに上書きし、同時に書きだすという方式に変更しました。
両方のファイルは監視されており、自動的にcommitされてgithubへpushされます。

後書き

gitについては使いこなせていないので活かせたものを使えればいいかなと

*1:masayoshimashita/TSF_Factory_Float · GitHub - マブラヴシリーズに出てくる戦術機を製造する産業