[過去ログ] バージョン管理システムについて語るスレ3 (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
811(1): 2009/04/26(日)23:35 AAS
>>810
gitのコミットログはバイナリ。デフォルトではutf-8じゃないバイナリ列を拒否る
設定になっているから実質utf-8と言っていいけど。
1リポジトリ多ブランチはbzr でいう init-repo のこと。Subversionでも普通に
repo/trunk, repo/tags/footag, repo/branches/foo_branch ってするよね。
1リポジトリ1ブランチだと、データの共有は基本的にハードリンク頼みだから、
ローカル間のbranchやpullじゃないと共有されない。
他にも、Windows環境ではハードリンクを適切に扱えるツールが少ないから、
バックアップソフトがハードリンク×n個を n個のファイルとしてコピーしたり
しやがる。
812(1): 794 2009/04/26(日)23:41 AAS
勘違いしてた。hgやgitが管理しないのはファイル名じゃなくてディレクトリ名だ。
$ hg init repo_a
$ cd repo_a/
$ mkdir dir_a
$ cat >dir_a/a
aaa
$ hg add dir_a/a
$ hg commit -m "add a"
$ hg clone . ../repo_b
$ hg mv dir_a dir_b
$ hg commit -m "rename dir"
$ cat >>dir_b/a
bbb
$ hg commit -m "add bbb"
$ hg diff -r0 dir_b/a
diff -r 6573e09a792d dir_b/a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/dir_b/a Sun Apr 26 23:39:25 2009 +0900
@@ -0,0 +1,2 @@
+aaa
+bbb
gitは使う機会ないからディレクトリ名の変更を追跡しないってのも勘違いかもしれん。
813: 2009/04/26(日)23:49 AAS
>>811
bazaar厨が必死すぎるwww
814(1): 2009/04/27(月)00:03 AAS
1リポジトリ多ブランチってhgでも出来ると思うけど。
815: 2009/04/27(月)00:19 AAS
>>814
複数のheadを持てるっていう意味で?
でもtipは一つだから、普通運用する時は branch ごとに
ディレクトリを分ける。そんときにリポジトリまで分離されてしまう。
816(1): 2009/04/27(月)01:45 AAS
>>812
hgはファイルしか追いかけないのは事実だが、履歴は管理されるよ
$ hg diff -gr0 dir_b/a
diff --git a/dir_a/a b/dir_b/a
copy from dir_a/a
copy to dir_b/a
--- a/dir_a/a
+++ b/dir_b/a
@@ -1,1 +1,2 @@
aaa
+bbb
817: 2009/04/27(月)07:30 AAS
>>816
へぇ、今度から -g 使うよ。thanx.
あと、 transplant extension を有効にしたんだけど、
ディレクトリ名変更したブランチからcherry pickingできなかった。
これも何かのオプションで >>809 と同じことできるようになるのかな。
git はマニュアル読んでも使い方が判らん…普段hgとbzrしか使わない
せいもあるんだけど、gitってリビジョン指定の方法とか独特過ぎない?
818(1): 2009/04/27(月)08:13 AAS
>>794
hgは1リポジトリ多ブランチだよ。
gitもそうでなかったか?
819: 2009/04/27(月)09:45 AAS
ちょうどブランチの話題がでているので質問です。
GitでのブランチのようなことをMercurialでしたい場合にはどうするんでしょうか。
820(1): 794 2009/04/27(月)10:30 AAS
>>818
ごめん、書き方が悪かった。単純に1リポジトリに複数のbranchを
格納できるってだけじゃなくて、svnみたいに各ブランチにパスを割り当てて
アクセスできるってことを言ってたんだ。
githubにしろbitbucketにしろ、ブランチ切るとリポジトリまで分割されちゃうよね。
821(1): 2009/04/27(月)11:22 AAS
>>794はなかったことにしてもらえよw
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
ああ、そういうのあるとすごく助かる。
特定のシステムに傾倒しすぎないよう注意しながら追記しないといけないだろうけど。
上下前次1-新書関写板覧索設栞歴
あと 171 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s