[過去ログ] バージョン管理システムについて語るスレ3 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
822(2): 794 2009/04/27(月)12:28 AAS
>>821
そうだな。書き直すよ。
git: ファイル名はバイナリ(クロスプラットフォームでの日本語ファイル名は諦める)
- シェルとかperlとか必要。
- cherrypick可能。ディレクトリ名変更をまたいだcherrypickは不明
- git-svn はほぼ安定
hg: ファイル名はバイナリ(fixutf8拡張を使えばutf8ファイル名が可能だがまだ完全ではない)
- シェルとかPerlとか不要でプラグインもPythonだからクロスプラットフォーム。
- cherrypickは同梱されているtransplantプラグインで対応。ディレクトリ名変更をまたいだcherrypickは不可能?
- hgsubversion はまだ実験版
bzr: ファイル名はUnicode(Windows/Linux/Macの間で日本語ファイル名問題なし)
- シェルとかPerlとか不要でプラグインもPythonだからクロスプラットフォーム。
- cherrypick は完璧
- bzr-svn はほぼ安定
823(2): 2009/04/27(月)12:37 AAS
「シェルとかPerlとか」って何のこと?
なんで Python がクロスプラットフォームと言いながら Perl はダメなの?
824: 2009/04/27(月)12:45 AAS
>>823
そうだよな、Windowsをプラットフォームに考えたらどっちも一緒。
825(2): 2009/04/27(月)12:48 AAS
今みたいなノリで、このスレで指摘・突っ込みしながら
バージョン管理システムの比較表を作っていけば
そこそこ役に立つ比較ができるんじゃないだろうか
826: 2009/04/27(月)13:03 AAS
>>825
そこまでするなら、GUI フロントエンドの熟成度も併記してほしいと思いますです。
827: 2009/04/27(月)13:09 AAS
>>823
git のプログラムはCで書かれたプログラムとPerlで書かれたプログラムとシェルスクリプトが混ざってる。
CプログラムはPosix APIを利用しているのでmingwやcygwinに依存するし、
Perlも基本そのCygwin/mingw+msys環境用のものを使わないといけない。既にActivePerl使ってたり、
cygwinユーザーなのにmsysgit入れたりするとパスが混じりまくってワケワカメ。
3rd partyによるプラグインがWindowsではうまく動かない可能性もある。
MercurialやBazaarはたくさんのプログラムの寄せ集めではなくて一つのPythonプログラム。
Cで書かれている部分も単体プログラムではなくてPython拡張モジュールだから
Posix互換環境に依存しないし、Visual C++等のコンパイラでもコンパイルできる。
既にLinux/Unixどっぷりの人間にはgitが使いやすいかもしれないけれど、そうでない人間にとっては
シェルスクリプトもPerlもautotoolsもバッドノウハウの集大成。Cygwinになるとなおさらバッドノウハウが
多いから、みんなで環境をそろえるのが大変。
それに比べるとPythonはバッドノウハウ度が少ないので、自分でプラグインを作るのも
みんなで環境をそろえるのも容易。
828(1): 2009/04/27(月)13:18 AAS
Mercurialってバイナリdiffかなんかで一部Cを使っていたような、必須かは知らないけど。んで、他の部分もCで置き換えていくって話聞いた覚えあるけど。
あとBazaarも高速化の為に一部Pyrexを使っていたはず。Pythonの代替実装あって必須じゃなかったはずだけど。
829: 2009/04/27(月)13:34 AAS
>>828
うん、速度が必要な部分はCで書かれてる。
Pythonの拡張モジュールだからクロスプラットフォームなPythonAPIを利用するし、
ビルドのもPythonの標準ライブラリによって行われる。
posix準拠のCプログラムと違って最初からWindowsでも動くように設計されている。
例えば、Pythonなら open(u"ほげ表\クソ", "rb") とすると Windows の Unicode API
を使ってファイルを開く。BazaarはこのPythonの利点を活かしてUnicodeファイル名に
対応している。
830: 2009/04/27(月)19:45 AAS
>>825
ああ、そういうのあるとすごく助かる。
特定のシステムに傾倒しすぎないよう注意しながら追記しないといけないだろうけど。
831: 2009/04/27(月)20:52 AAS
とりあえず叩き台として簡易比較作ってみた
【インストール】
git → 簡単だがActivePerl等が入っていると共存が不便
hg, bzr → 簡単
【動作速度】
git > hg >= bzr が定説
ただしバージョンアップ等によって変動するので参考程度に
【日本語ファイル名】
git → 諦めたほうがよい
hg → fixutf8拡張を使えばutf8ファイル名が可能だがまだ完全ではない
bzr → 問題なし
【空ディレクトリ】
git, hg → 追跡対象に含めない
bzr → 追跡対象に含める
【ネットワークプロトコル対応】
git → ?
hg → ?
bzr → http, sftp, ftp, 独自プロトコルなど充実。ただし手軽なwebブラウジングサーバーがない
【ブランチの切り替え】
git → ?
hg → ?
bzr → ディレクトリ移動
【そのほか・備考】
・今のところ3つのなかで一番シェアが大きいのは、たぶんgit
・gitのコマンド体系は、一般的なバージョン管理システムと比べるとやや独特。慣れが必要
832: 2009/04/27(月)21:09 AAS
Google Summer of Code
Towards a better inotify extension
Lightweight copies/renames
Using mercurial as a client for git repositories
Mercurial on Py3k
833(1): 2009/04/27(月)21:41 AAS
そうかMercurialのページにSoCに!って掲示出てたよな。
Pythonが、Mercurialに移行する予定だし、この先、伸びそうなのはMercurialか。
834: 2009/04/27(月)21:51 AAS
【Web UI】
git -> gitweb (同梱)
hg -> hg serve (内包)
bzr -> loggerhead (別アプリ)
【trac】
git, hg -> ○ (複数リポジトリは面倒)
bzr -> ○ (複数リポジトリはsvnと同等)
835: 2009/04/27(月)21:55 AAS
【個人公開リポジトリ置き場】
git -> github (無料で300MB, wiki, ticketあり)
hg -> bitbucket (無料で150MB、 wiki, ticketあり)
bzr -> launchpad (無料無制限、 wiki, ticketあり)
836(1): 2009/04/27(月)22:04 AAS
【大規模ユーザー】
git -> Linux, gnome, rails
hg -> Python, Java, OpenSoralis
bzr -> Ubuntu, MySQL, GNU(bzrはGNU公式プロジェクトの一つ)
>>833 3つともユーザー増え続けて、svn一人負けという展開。
837(1): 2009/04/27(月)22:09 AAS
>>836
この流れでいきなりsvnの名前が出てきて驚いたw
CVSは負けてないのか
838(1): 2009/04/27(月)22:30 AAS
CVSは化石だろJK
gitの利用は順調に増加中だね。でもコマンド体系に難アリ。内臓のgitwebよりcgitの方が好き。
MercurialはSunが使っていたけどOracleに買われてどうなるやら。今はGoogleが押しているようだけど、Androidの開発にはgitが使われているし…。
bzrは伸びるも縮むもこれからだね。bzr-gitももうすぐ完成するらしいし。あとlaunchpadにはまだwikiはない。そのうち出来るだろうけど。
839: 2009/04/27(月)22:42 AAS
loggerheadは元々hgwebの派生って話だけどそうは見えんよなぁ。今じゃまったく別物に見える。
launchpadのオープンソース化が近し。他のVCSに対応させたいなら頑張ってパッチ書いてみるといいかも。まぁ7月の話だが。
840: 2009/04/28(火)00:02 AAS
>>837
いやだって、どれか一つを勝たせたり負かせたりしたい人間がいても
現実に3つともどんどんシェア伸ばしてるからどれが勝ちとか言えないし。
841: 2009/04/28(火)00:06 AAS
cleartools>unco -keep *
上下前次1-新書関写板覧索設栞歴
あと 160 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s