HTMLのようなテキストベースのファイルを、バージョン管理しようと思うと、CVSは手頃で使いやすいツールです。
GUIで手軽に使えるツールも、数多くありますが、その中でも私のお気に入りは、今のところMeldです。
できることは限られており、現時点のワークファイルとリポジトリとの差分表示・アップデート・コミット・追加・削除程度ですが、その分直感的に使えて重宝します。
昔は、nautilus上でapotheke...を使っていたのですが、gnomeを2.6に上げた結果、動作が少々不安定になったので使用をあきらめました。なにせ最終バーションが2年も前なので、2.6用にメンテされる可能性もありません。nautilus上からCVSのコマンドが実行できる、結構使えるツールだったので、残念です。
ちなみに、Windowsには同様のコンセプトで、explorerからCVSを使えるようにするツールに、TortoiseCVS...というのがあります。こちらは2004/11現在、ほくほくのバージョンがあります。機能も殆どのCVSの機能を網羅していて、とても使いやすいツールです。WinCVSといい、GUIのCVSツールに関しては、残念ながらlinuxはWindowsに一歩遅れている感じです。
尤も、Meldにはそれらのツールには無い、非常に優れた機能が有るのですが。
Meldは、linuxのGUIツールに良くあるように、pythonで作られています。その関係で、日本語を扱うに当たり、ちょっとした下準備がいります。日本語のエンコーディングをpythonで扱うためのパッケージをインストールして、エンコードの指定をしないと、utf-8以外のエンコードの日本語ファイルが、文字化けしてしまうのです。
インストールする必要のあるパッケージは、以下のパッケージです。
python-japanese-codecs
設定は、設定(S)→設定(N)で表示される、ダイアログから行います。エンコーディングを選択すると、エンコーディングを入力するテキストフィールドが有るので、デフォルトで設定されているutf8とlatin1の前に、空白で区切ってsjisとeuc-jpを追加します(必要に応じて他にもご自由に)。
さて、Meldの良いところは、ファイルのマージが簡単にできるところです。以下のスクリーンショットは、Meldでファイルの差分を表示していると事ですが、この画面から簡単にマージすることができます。
この状態で、上の右向き矢印をマウスでクリックすると、追加されていた左側の部分が、右側にコピーされます。下がマージ後の画面です。背景がグレーになっている部分が、左側からコピーされた箇所です。
機械的にマージできないような、複雑なマージには威力を発揮します。
ファイルを開くときなどに、ファイル名を入力するエリアに、nautilusからファイルをドラッグすると、そのファイルのフルパスがセットされる。