yumeの日記: 原始人がバージョン管理(的ななにか)に挑むアレコレ 5
前提
・私はいわゆるデザイナー、それも現実の印刷物を扱うデザイナーである。現在製作物のバージョン管理と差分チェックに悩んでいる。
近頃友人と日曜2Dゲーム製作に勤しんでいる。
GameMaker Studio 2でコードを書き、git(Sourcetreeアプリを用いて)でバージョン管理。コードを書くのは私含む2人だけという極小チームだ。
ふたりとも全くの門外漢から初めて、ものの3ヶ月でそれなりに動くものが作れるようになった。まぁそれはよい。
そんなことより、このgitというバージョン管理の概念、めちゃくちゃ便利である。
本職の方からすれば何を今更という話であろうが、我々原始人(デザイナーと読む)からすればgitは神々の用いる超技術である。
我々はまだアナグラを掘って「最終決定案_0125_fix_最終_final_end_owawri.pdf」みたいなファイルをウホウホいいながら保存してるわけで(zipのパスワードは後送のメールにて!!)(先祖返りしてる!!!)(阿鼻叫喚)。gitのコマンド($ git merge origin/masterとか)はどうみても呪文である。オフィスはケモノくさいし。
そういうわけで、なんとかしてこのバージョン管理的概念を使って、もう少し業務を改善できないかと思う次第である。できれば原始人にも優しい方法で。
Workflow
・エライヒトが「原稿あれ」と言われた。すると原稿があった。
・原稿をもとにデザイナーが製作する(バージョン1)
・バージョン1をPDFに変換し、エライヒトに送る。
・エライヒトが「やっぱこうした方がよくない?」と言われた。すると全てがひっくり返った原稿2があった。
・原稿2をもとにデザイナーが製作する(バージョン2)
以下略
やりたいこと
・PDFファイルとしてクラウドに上書きアップロードできる
・各バージョンにアクセスできる。旧バージョンもダウンロードできる
・各バージョンとのpixel差分を簡単に見られる(バージョン1と2や5を比較できる)
>gitみたいにブランチを分けたりする必要は(さしあたっては)ない。あってもよい
つまり、google driveとヴィジュアル差分ツールが合体したやつ
やってみたこと
・PDFをクラウド(adobeとかgoogledrive)に保存する(履歴も確認可能)
>差分は手動で生成する必要がある
・photoshopで2つのバージョンのPDFを画像変換>pixel差分を抽出、画像として保存、差分データとしてアップロード
>上と組み合わせる。手間が多い。過去バージョンのPDFを全て管理する必要がある。それでも、今のところ現実的な手段はこれらの組み合わせ
・abstract
>adobe xdとsketchしか使えない。こちとら印刷物デザイナーなんじゃい!
・jointrunk.com
>なぜか登録できない
・github desktop
>これの動きが完全に理想的なんだけど、PDFは差分チェックに対応してない(PNGならできた)
PDFはかなりデカイサイズになることもままあり、複数ページになることもある。
私が知らないだけで、ほんとはすでにバッチリそういうのがすでにあったりするんだろうか?
おっさん… (スコア:0)
そもそもgitだろうがhgだろうがsvnだろうが
バージョン管理システムにバイナリファイルの差分抽出機能などついていないのだよ。
おっさんが「pngならできた」と勘違いしていることは実は単なるフックスクリプトで
外部コマンドが差分を抽出しているに過ぎない。
最近のPython人気でImagingやPillow使う輩もいるけど
恐らくはまあImageMagickかGraphicsMagickでcompareかけてるだけ。
GitHub Desktopをそのまま使うならpushする前にフックかけてpngに変換してやれ。
サーバ側でやって欲しいとかなら自分でgitサーバたてて期待するようにフックスクプト書け。
まあそこまでせずとも自分がそのリポジトリにはPDFしか入れず
かつテキスト差分を取ることは絶対にないと断言できるのなら
TortoiseGitあたりの異なるリビジョンのファイル比較に用いる差分ビューアを
AcrobatなりPhotoshopなりに好きなものに代えればそれでもおk。
なんにせよ原始人が全てを理解できるように説明することは大抵のアレゲ人の能力を越えているので
あとはHOW2本でも読んで自分で試行錯誤してくれ。
git はバイナリの扱いが苦手 (スコア:0)
デザイン界隈なら Perforce とか使いそうだけど商用なんだよね…
絵の差分 (スコア:0)
>差分は手動で生成する必要がある
pdfベースで管理したいようですが、成果物のpdfって、フラットな一枚の画像なんですか? それとも背景画像に文字がオーバーレイして、みたいな構造を持ったものですか?
製作途上の絵も、bmpファイル的なフラットな一枚の絵なんですか、それともレイヤーとか構造を持ったものなのですか?
求める差分は、フラットな一枚の絵でいいのですか?
例えば word文書なんかも xml(?)/html で保存するとたんなるテキストファイルになったりしますがそういう裏道はどのくらいあるのでしょう?
(pdf も 元を正せば postscript というテキストファイルだったりしますので
バージョン管理システムと相性はいいですが多分差分は目も当てられないものに…)
Re:絵の差分 (スコア:1)
成果物も、その途中のものも、たくさんのレイヤーが重なる画像や文字の集合でできています。いわゆるポスターや雑誌の紙面のようなものが典型的です。
なので、PDFを画像として扱って、新旧をヴィジュアルで比較して、差分を表示する画像を生成したかったのです。
1.最新版のPDFと、その過去版の履歴を残す(google driveに最新版PDFを上書きし続ければok)
2.ビジュアル差分(photoshopなどで新旧合成して画像として出力)
という手順はできたのですが、アップロードしただけで自動的に2.の差分画像を保存してくれればよいのに。という話です。
おっさんでもできる方法を考えて、automatorとdiff-pdfを組み合わせてなんとかならないかな?などと試行錯誤中です。
最新版PDFをautomatorに渡したら、diff-pdfでgoogle driveにすでにある旧バージョンPDFと比較して、抽出した差分ファイルを保存した後、driveのver.1に最新版PDFを上書きするような感じ?
これならほかのおっさんでも、ドラッグアンドドロップだけで使えるので、なんとかなるのかも。
Re: (スコア:0)
>自動的に2.の差分画像を
手順的なものはがんばっていただくとして…。
(photoshop ぐらいの強力なツールならバッチ処理もそこそこできないのかなぁ)
(MacならシェルスクリプトやらPerlやらPythonやらも動員できるかも)
>ビジュアル差分(photoshopなどで新旧合成して画像として出力
例えば とある文字を1cm左に動かした みたいな変更の場合、画像の差分だと
文字が二重に見えるような画像になると思いますが、あってますか?
だとすると、文字ならまだしも、絵をずらした・縮尺変えたとか、さらには
それがたくさんあると吟味に苦労するような差分画像になるように思いますが…。
(離れたバ