最近,いろいろな場所で作業することが多くなりました.インターネットにつながっていれば,単純にGmail上にファイルを自分宛に送っておけば良いのですが,バージョン管理が煩雑です.そこで,DropboxやSugarsyncなどのオンラインストレージサービスが充実してきたので,それらを活用し,バージョン管理を取り入れた執筆環境を作ってみました.
目標
- 個人の複数PC(ここで取り扱うのはWindowsマシンですがLinuxへの拡張は容易なはず)において,版を残しつつ論文を執筆します(なので,複数人での共同執筆用ではなく,複雑な管理はしません).
- 論文の執筆にはMSWORD(2007/2010)を使います.
- レポジトリサーバーを立てずにできるだけ簡単に扱うようにします.
バージョン管理システムを大きく分けると2通り(集中型/分散型)に分けられますが,インターネットに接続していない時でもファイルの更新が行えるように,分散型のバージョン管理システムを用います.その場合,Git,MercurialかBazaarという選択になりますが,文書管理ということで,Windowsとの相性が良く,日本語に強いことから,Bazaarを用いることにします.
(Mercurialはファイル名に日本語が使えないらしいです.個人的には日本語ファイル名は使いませんが,文書管理に使う以上,将来どうなるかわからないので)
(注1)Bazaarはバイナリの差分の中身を確認することは出来ません.ので,差分の確認をしつつ文書の管理を行う場合は,できるだけtextファイルで書き進め,最後に書式を変更するのがお勧めです.
作業
1 Dropboxの準備
ファイルの同期・共有はDropboxで行うので,まず,Dropboxに登録し,Dropboxの環境を整えます.
(注2)Dropboxにもリビジョン管理機能があります.ただし,Dropboxに頼りきってしまうと,Dropboxに何かあった時に(例えば有料化とか,サービスダウンで履歴が消えるとか)困ります.そこで,Dropbox内にメインレポジトリを持ち,PCにはローカルレポジトリを持つような設計にします.
(注3)Sugarsyncでも構いません.が,現時点で,Sugarsyncは3台以上のPCで同期する場合には有料になるのでDropboxで説明します.
2 Bazaarのセットアップ
Bazaarについての基本的な説明は,Wikipediaの以下のページを参照してください.
https://ja.wikipedia.org/wiki/Bazaar(なお,これ以降の記述については,
https://doc.bazaar.canonical.com/latest/ja/mini-tutorial/index.htmlを参考にしています.)
2-1 Bazaarのダウンロード,インストール
下記のBazaarのダウンロードページから,
https://wiki.bazaar.canonical.com/WindowsDownloadsStandalone インストーラをダウンロードし,インストール.インストール中は「A typical installation」を選択し,Next連打で構いません.
2-2 初期設定
インストール終了後,Bazaar Explorerを開きます.[Bazaarを設定する]→[環境設定]とクリックすると,[設定]ウインドウが開きます.(メニューバーからも,[設定]→[設定]→[ユーザ設定]で行けます)
[メール]の欄が,ユーザ名@マシン名になっているので,メールを使う場合は正しく設定します.個人利用なのでメールでtodo管理などしてなければそのままの方が都合が良いかもしれません(どのマシンで作業したか分かりやすい).
2-3 管理方法の説明
(注4)Bazaarはレポジトリのレイアウトをかなり柔軟に構成できる.以下のレイアウトは一例に過ぎません.
本稿で説明する管理方法は下図の通りです.Dropbox内に親レポジトリを持ち,各地点でのPCはローカルレポジトリとして子ブランチを持ちます.各地点での作業は子ブランチ内で行い,最終的なコミットを親ブランチにマージします.親ブランチはDropbox内にあるので,各PCで同期されます.
2-4 親ブランチの作成
ブランチ(branch)はその名の通り,枝の意味で,ツリーからの分岐を意味します.Bazaarでは,ブランチは管理対象のファイルと同じディレクトリに置かれ,管理内容がブランチに保存されます.チュートリアルより引用:
すべての履歴はブランチに格納されます。ブランチとは、管理用のファイルを含んだただのディレクトリです
まず,Dropboxフォルダー内で,親ブランチとなるディレクトリを好きな名前で作ります.
例: C:\Users\User1\Desktop\Dropbox\Parent_Branch
(既存のディレクトリを用いる場合はこのステップはスキップ)
次にBazaar Explorerで[新しいプロジェクトを作成する]→[初期化]を選択し,先程作成したディレクトリを指定し,Feature Branchesを選択してOKとします.すると,trunkと,.bzrというディレクトリが作成されます.(.bzrは隠しフォルダ)
trunkのフォルダに管理対象のファイルを移動します(もしくは作る).
例: C:\Users\User1\Desktop\Dropbox\Parent_Branch\trunk\paper1.docx
[追加]をクリックし,対象ファイルを選択します.まず最初の[コミット]を行い,ファイルの追加を作業ツリーに反映します.これ以降,このファイルのリビジョンが保存されていきます.
2-5 子ブランチの作成
次に,ローカルブランチを作ります.ローカルブランチ用のディレクトリを好きな場所に(Dropboxフォルダーの外に)作ります.Bazaar Explorerにて,[既存の場所を開く]で親ブランチのtrunkフォルダまで移動します.メニューバーの[Bazaar]→[開始]→[ブランチ]を指定し,From が親ブランチのtrunkフォルダ,宛先が先程作成したローカルブランチのディレクトリになるように指定します.
さらに,オプションで,[Bind new branch to parent location]にチェックを入れ,OKをクリックします.共用レポジトリを作成するように促されるので,そのまま作成し,OKを押します.同じことを,ローカルブランチを持つべきPC全てで行います.
2-6 実際の執筆作業
作業をするときはまずBazaarExplorerからローカルブランチのtrunkを開き,[更新]を行います.すると,親ブランチでの更新がローカルに反映されます.その後,作業ツリーの中のファイルを開いて作業を行います.作業終了後に,[コミット]を行うと,リビジョン番号が一つ上がり,親ブランチに変更が反映されます.(これを忘れると親ブランチのファイルが更新されず,他のPCでは更新されたファイルに変更が加えられないので注意です)