SVN配下にOmniGraffleファイルを登録する
Mac OS X 10.5.6 | OmniGraffle 4.2.1 | Subversion 1.5.5 + utf8-macパッチ |
1.OmniGraffleファイル を Subversion 下に置く場合の問題
OmniGraffleで作成したファイルをデフォルトで保存した場合、一見すると単一ファイルに見えますが実際にはディレクトリで存在しています。右図は、保存した OmniGraffle ファイルを MacOS X の Finder から確認したものですが1つのファイルである様にしか見えません。 OmniGraffle上からファイルを指定したりMac OS上でダブルクリックしたりして開く分には全く問題ないのですが、Subversionでリビジョン管理したいといった場合に問題となってきます。 |
OmniGraffle ファイルを Subversion管理下 のフォルダに保存し、svn add コマンドで Subversion管理下 のファイルとして追加しようとすると次の結果になります。ここでは "Graffleファイル.graffle" という名前で保存したファイルをSubversionに登録するとしています。
$ svn add Graffleファイル.graffle
A Graffleファイル.graffle
A (bin) Graffleファイル.graffle/data.plist
svn: Invalid control character '0x0d' in path 'Graffleファイル.graffle/Icon\015'
$
パス内に無効なコントロール文字が入っていると表示され svn add が失敗してしまいます。"A (bin) Graffleファイル.graffle/data.plist"という行があることから "Graffleファイル.graffle" がディレクトリと認識されていることも確認できます。
本題と直接関係はありませんが、この状態だと中途半端にsvn add が適用されている状態になっていますので、このまま svn commit してしまうといろいろ問題が発生してしまいます。次のコマンドで状態を戻しておく必要があります。
$ svn revert Graffleファイル.graffle
特に何もしないでファイルを保存した場合、 OmniGraffle ではディレクトリの形でファイルを保存するのですが、キャンバスの設定で単一のファイルとして保存することができます。単一のファイルで保存してやれば、この問題は発生しなくなります。
2.OmniGraffleファイルを単一ファイルとして保存する
OmniGraffle 4.1以前の方は・・ここで紹介する手順は OmniGraffle 4.1以降が対象となります。それ以前のバージョンをお持ちの方は参考文献で紹介している masken さんの情報が参考になります。 |
2-1.インスペクタを表示する単一ファイルとして保存したいOmniGraffleファイルを開いた状態で、メニューまたはツールバー等から 「インスペクタ」 を表示させます。 |
2-2.単一ファイル保存設定インスペクタから 「キャンバス」 の 「書式設定」 を選択し、 「ファイル形式オプション」 のプルダウンから "単一ファイルとして保存" を選択します。 選択後、ファイルを保存すれば、OmniGraffleファイルを単一ファイルとして保存できます。MacOS X 上での見え方は最初に確認した時と変わりはありません。 |
3.単一ファイル形式のOmniGraffleファイルをSubversion管理下へ登録
単一ファイル形式にすれば Subversion 管理下に登録できることを確認します。確認には先ほどと同様、Subversion管理下に置くため svn add コマンドを使用します。
$ svn add Graffleファイル.graffle
A (bin) Graffleファイル.graffle
$
今度ははエラーが出ることなく svn add が完了しました。 svn commit でファイルの登録が完了できること(リポジトリへコミットできること)も確認しておきます。
$ svn commit -m "Omniaffleファイルを登録"
Adding (bin) Graffleファイル.graffle
Transmitting file data .
Committed revision 3.
$
これで Subversion配下に OmniGraffle ファイルを登録できることが確認できました。このファイル形式オプションの設定はファイル毎に行う必要があります。
参考文献
-
-Subversion によるバージョン管理- 属性 第7章 より進んだ話題-masken- 保存時に .graffle をディレクトリにしないようにする
Subversion によるバージョン管理について書かれたドキュメントの和訳OmniGraflleに関する話題が掲載されているサイト