Mercurial で Office (2007) Open XML や OpenDocument を管理する
Microsoft Office 2007 で新しくなった Word、Excel、PowerPoint のファイルフォーマット、Office Open XML ですが、そのまま Mercurial のリポジトリにコミットすると、リポジトリの管理領域 (多分 .hg/store/data の中) のサイズが大きくなってしまいます。
これは、Office Open XML が XML 文書を ZIP 圧縮したファイルであるためです。
Mercurial はコミットするとき、変更されたファイルの差分を抽出して記録しますが、ZIP 圧縮すると差分情報を効率的に抽出できなくなってしまいます。
ところが、そんな問題を解決できそうな ZipdocExtension - Mercurial を発見。
This extension is not distributed with Mercurial
と書いてありますが、 TortoiseHg なら一緒に入ってます。
使い方ですが、ホームディレクトリの .hgrc
か mercurial.ini
ファイルに、或いはリポジトリの
.hg/hgrc
にこんな設定を追加して zipdoc エクステンションを有効にするだけ。
この例では Office Open XML だけでなく、OpenOffice.org の ODF の設定も入れてみました。ODF も XML を ZIP 圧縮しているようなので。XPS / OpenXPS と EPUB も追加してみました。
これで、hg commit
するときはファイルの ZIP 圧縮を内部で自動的に解くようになります。だから、差分情報を効率よく抽出してリポジトリに記録してくれるはずです。
また、hg update
したらファイルを ZIP 圧縮してから作業領域を更新してくれるようになります。
リポジトリをクローンするときは、クローン先でも zipdoc エクステンションが有効になるように設定しておきましょう。
とはいえ、クローンしたリポジトリで zipdoc エクステンションが有効になっていなくても、作業領域のファイルが圧縮されていない (圧縮形式が Store の) ZIP になるだけなので、ファイルを開くことも普通に出来るようです。
とにかく、Windows で TortoiseHg と Microsoft Office を使うなら zipdoc は必須と言っていいエクステンションだと思います。コミットを繰り返すほど効果が大きくなるはずです。
« 「クラウド・カンファレンス in 静岡」覚え書き | トップページ | DVD MULTI ドライブ LF-P968C を Windows 7 でアップデート »
「パソコン・インターネット」カテゴリの記事
- ワイドレンズのカメラ用のバーチャル背景(2021.06.20)
- WFH で買ったもの、その 2(2021.04.18)
- WFH(2020.08.18)
- 2019年をふりかえる(2019.12.31)
- EditorConfig Vim Plugin を日本語環境の Windows で(2016.12.07)
「プログラミング」カテゴリの記事
- DAD(2018.12.16)
- EditorConfig Vim Plugin を日本語環境の Windows で(2016.12.07)
- NetBeans を Mac の Java 6 で使う(2013.08.22)
- Bitbucket と GitHub のユーザー名を変更しました(2013.02.15)
- Mercurial で Office (2007) Open XML や OpenDocument を管理する(2011.11.21)
この記事へのコメントは終了しました。
« 「クラウド・カンファレンス in 静岡」覚え書き | トップページ | DVD MULTI ドライブ LF-P968C を Windows 7 でアップデート »
コメント