バージョン管理システム比較

提供:Software Development Memo
2011年3月19日 (土) 13:46時点におけるAdmin (トーク | 投稿記録)による版 (→‎Subversion連携)
ナビゲーションに移動 検索に移動
注意 : このページ「バージョン管理システム比較」は、現在書きかけの状態です。完成版に向けて、今後加筆・修正します。また、本ページの内容は全体的な整合性が取れていない可能性があります。

本ページは、バージョン管理システムをソフトウェア開発の観点から比較した内容を記述します。

前提条件

  • OS : Windows 7 Enterprise 64bit (32bitも可)
  • 使用するIDE
    • Visual Studio 2010 Profesional : C#
    • Pleiades All in One 3.6.2.20110228 : Java
  • GUIフロントエンドを優先的に使用

比較対象

比較結果

Subversion連携

  • Git
  • Mercurial
    • hgsubversionをインストール
  • Bazaar
    • チェックアウト・コミット・プッシュは、特にSubversionであることを意識せず操作可能


特記事項

  • Gitのクローン時のコマンドを「git svn clone file:///c:/work/svn-repos」とすると、「(前略)Expected FS format '2'; found format '4'(以下略)」と出て操作が失敗します。git-svnで扱えるSubversionファイルシステムのバージョンが古いためにエラーが出たと推測します。
  • Mercurialのクローン元URLを「C:\...」と指定すると失敗するので「file:///C:/...」とする必要があります。

バイナリファイルに対する操作性

バージョン管理されているバイナリ(非テキスト)ファイルの、過去の履歴を閲覧するときの操作性に関する比較です。

  • Git
    • TortoiseGitの「Show log」画面の下部から、過去のバイナリファイルを関連付けされたアプリケーションで直接開ける
    • UIがTortoiseSVNに近い
  • Mercurial
    • 過去のバイナリファイルはWindowsメモ帳でしか開けない。
      • メモ帳で開いたファイルをそのまま保存してもファイルが破損していて開けない。
    • リビジョンごとのエクスポートで代替するしかない
  • Bazaar
    • QBzrの履歴の「ファイル表示」を選択しても、専用ビューアが開き、外部保存および関連付けされたアプリケーションによる表示はできない

日本語ファイル名・ディレクトリ名の取り扱い可否

日本語を含む作業用ディレクトリ名

デザイン

その他

更新履歴