バージョン管理システ ..
655:デフォルトの名無しさん
08/11/11 23:04:02
>>654
分散型を分散型として使わなくても良いって意味じゃね?
656:デフォルトの名無しさん
08/11/11 23:45:26
>>638
どちらでもいいと思いますよ。
私は普段git-svn使ってるので、よくrebaseすることになるんだけど、最近使うのはstashかな。
少し前のバージョンまではstashが無かったので、ダミーコミットしてやってましたが、
stashの機能自体、内部では同じようなことをやってるんだと思う。ソース見てないですが。
657:デフォルトの名無しさん
08/11/12 01:19:03
すごい遅レスだけど、分散型のメリットは一言で言うなら、
「リポジトリ同士で」履歴のマージ等の操作ができるという点では。
非分散型=集中型でも、手元にリポジトリ作ればローカル管理はでき、
ファイル自体は他のリポジトリに移せるけれども、
履歴等を他のリポジトリに移すとかってのはできない。
違うかな?
658:デフォルトの名無しさん
08/11/12 01:42:50
分散型は分散した運用が可能な設計であるが、集中型の運用も可能ということだよね。
反対に集中型が基本のシステムで分散的な運用が必要になる時はものすごく苦痛。
集中型のシステムで開発してたのが、会社合併、アウトソーシング等で分散型の運用が
必要になったことが二回ほどあるがかなり苦労した。
659:デフォルトの名無しさん
08/11/12 03:48:01
使ったことないが、bzrにはwikipediaにこういう記述があるから
> 中央サーバを使わない純粋な分散型バージョン管理システムと比べて、
> Bazaarは中央サーバ有り・無しの両方での動作をサポートしており、
> 同じプロジェクトに対し同時に両方の方法を使うことも可能である。
>>623が言いたかったのはそのこと(そういう機能?)じゃないか。
660:デフォルトの名無しさん
08/11/12 07:41:00
自分の作業するところは細かくコミットしたいから、こんなことやってる。
ちょっと面倒だし、もっと良い方法はあると思うけど。。
中央サーバ-からcheck out - A
coしたやつからbranch - B
Bをいじって適当にコミット
適当なところで、AでBの変更を取り込み
Aをコミットして中央サーバへ
更新を持ってくるときは、Aでupdateして, Bでpullする。
661:デフォルトの名無しさん
08/11/12 18:03:09
>>659
>> 同じプロジェクトに対し同時に両方の方法を使うことも可能である。
これすごいな。bzr++
662:デフォルトの名無しさん
08/11/13 01:42:08
集中型の利点は、チェックアウト→コミットの間の
ネットワーク転送量が少ない(記憶領域の使用量も少ない)ということかな。
分散型だと、リポジトリ全体を持ってきたりして、転送量がすごいことになったりするでしょ。
たとえば100GBのリポジトリをcloneすることを考えてみて。
663:デフォルトの名無しさん
08/11/13 01:55:40
|
\ __ /
_ (m) _ピコーン
|ミ| torrentみたいに分散させれば
/ `´ \
('A`)
ノヽノヽ
くく
664:デフォルトの名無しさん
08/11/13 06:44:35
CoreserverにTracってのを入れてみたいんだけど難しくて判んないよ〜(´・ω・`)
665:デフォルトの名無しさん
08/11/13 07:02:40
>>664
レンタルサーバーか。
コンパイルしてホームにつっこむだけじゃないの?
666:デフォルトの名無しさん
08/11/13 08:04:20
Tracは依存関係がものすごいからな。
レン鯖の制限があると苦労しそうだ
667:デフォルトの名無しさん
08/11/13 10:08:28
Tracの話題はこっちじゃないかな
【バグ管理】 BTS使ってる?【追跡゙】 2
スレリンク(tech板)
668:デフォルトの名無しさん
08/11/13 10:59:24
>>667
ありがとう。いってきまーす。なにかヒントがあると良いな〜(´・ω・`)
669:デフォルトの名無しさん
08/11/13 11:25:05
mantisっていうのは、TracやGoogle Codeみたいにファイル変更の差分が見れるものではない?(´・ω・`)
670:デフォルトの名無しさん
08/11/13 16:47:29
>>662
それ分散型か集中型かに関係なく仕組みによる。独立(standalone)なら全部取得だし、軽量(lightweight)なら一部のみ取得。
svnは軽量チェックアウト。
mercurialは独立ブランチ。
gitは軽量ブランチ。
bzrは独立チェックアウト(bzr co)、軽量チェックアウト(bzr co --lightweight)、独立ブランチ(bzr branch)。軽量ブランチはbzr cbranch --lightweightやbzr branch --stackedが当てはまるのかなぁ、良く分からね。
671:デフォルトの名無しさん
08/11/13 16:51:35
ああ、bzr cbranch --lightweightは勘違い。
他にも間違いありそうだから補足頼む。
672:デフォルトの名無しさん
08/11/14 01:35:44
日本語ディレクトリとかファイル名をバリバリに使ってるプロジェクトを
分散型バージョン管理システムで管理したいのですが、何を選択すべきでしょうか?
ちなみに環境はwindowsです。
(svkは試したのですが、あれは重すぎたのでそれ以外で)
673:デフォルトの名無しさん
08/11/14 06:51:19
使えるかどうかだったらhg, git, bzrのどれも使える。
ファイル毎にファイル名のencodingが違うとどれもダメだけど。
windowsだけならcp932だけになるのでどれもOK。
ただしTortoiseSVNのようなものを期待しているなら、
Hgにあるけどhgkだけが表示上は文字化けする、けど問題なく使えてる。
日本語ファイル名を使いたいならSVNが一番いいけど、
分散型でどれを選択すべきかはどれも微妙。
674:デフォルトの名無しさん
08/11/14 12:57:31
svn, bzrは基本的に問題ないだろう。
675:デフォルトの名無しさん
08/11/14 23:29:09
URLリンク(sourceforge.jp)
>新規プロジェクトでは Git が標準で有効、CVS が無効に変更されました。
なんかすごいな。
676:デフォルトの名無しさん
08/11/14 23:32:56
>>675
おいおい、本家ではGit対応してなかったはずじゃ…と思ったら書いてある記事があった(下)。とはいえgithubやlaunchpadのように使えないと旨味が少ない気が。
SourceForge.JP、Gitのサポートを開始
URLリンク(www.itmedia.co.jp)
677:デフォルトの名無しさん
08/11/14 23:37:01
gitはWindowsで日本語ファイルはダメダメですよ
その前に、gitは日本語ファイル名を使うようなユーザー間ではまともに使えないと思うよ
678:デフォルトの名無しさん
08/11/14 23:44:59
集中型は svn、分散型は git になるのが加速されるのだろうか?
679:デフォルトの名無しさん
08/11/14 23:45:45
gitはないな
つうかいつまで集中型使われるんだ
680:デフォルトの名無しさん
08/11/14 23:46:17
☆ チンチン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < Bazaarの対応まだー?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
681:デフォルトの名無しさん
08/11/14 23:48:41
これで日本語ファイルのエンコード対応パッチも投げられるか。
682:デフォルトの名無しさん
08/11/15 00:24:51
国際化するなら、内部ではunicodeで処理、それぞれの環境でファイル名変換が妥当?
683:デフォルトの名無しさん
08/11/15 00:35:10
集中型はずっと使われると思うよ、svnで充分なこと多いし。
分散型はしばらく戦国時代だろうな。天下統一は遠いとみた。
684:デフォルトの名無しさん
08/11/15 01:04:10
Pythonで実装されてるやつは、Python3.0ベースになれば
文字コード問題は解決されそうだけどなぁ。
俺は、hgもgitも天下を取らないうちに次の新星が出てきて
そっちが天下を取ると思っているw
685:デフォルトの名無しさん
08/11/15 06:22:47
>>684
十分ありえそうな話ですね。
つうかgitでもhgでもbzrでもいいから、
一番優れた物がさっさと天下取ってほしい。
戦乱状態だと、使いつづけるのに不安が残る。
686:デフォルトの名無しさん
08/11/15 08:47:33
集中型は今はsvnって決まったも同然だから楽なんだけどね
687:デフォルトの名無しさん
08/11/15 12:52:08
>>677
Windows(Cygwin)のgitで日本語ファイル名を普通に使ってるけど
688:デフォルトの名無しさん
08/11/15 13:27:15
でも、やっぱプロジェクト内に浸透させるにはtortoise*が必要だわ
689:デフォルトの名無しさん
08/11/15 18:38:18
>>687
gitで日本語周りどういう風に運用してます?参考までに教えてください。
私が以前試したときの話ですが、
・UTF-8対応ターミナル用意した上で(もしくは、nkfとか通す前提で)
・コミットログは UTF-8
・エディタ(GIT_EDITOR)はデフォルトでUTF-8で起動させる必要がある
(UTF-8で起動できるソフトを使う。例:GreenPadなど)
・日本語ファイルは? >>312 の問題があって、ここでオレはあきらめてしまった口だけど・・・
SJISだとWindows上ではOKだけど、
別プラットフォームだと×とかだったりしそうで
俺の周りだと、UTF-8ターミナル+cygwin+コマンドラインという環境用意させるのと、
日本語ファイル使う運用が矛盾をきたしたので結局やめてしまった。
(個人的にはオプソとかの開発とかパッチ作ったりには使ってる)
690:デフォルトの名無しさん
08/11/15 23:28:10
>>689
普通に、と書いてしまいましたが少しウソ。
Cygwin は ntf-8パッチの dllを使っています。
git は core level でファイル名の encode は考慮しません。
なので、ファイル名は utf-8 で統一します。
だた、これは subversion 等でも同じこと。
ツール群が良きに図らってくれるか、自分でそうするかという違い。
結局(ファイルの中身以外)utf-8で統一するなら、何使っても問題無い
ということですけど。
691:デフォルトの名無しさん
08/11/16 00:28:43
> Cygwin は ntf-8パッチの dllを使っています。
はあ。そうですよね。まだ対応してませんもんね。
> ツール群が良きに図らってくれるか、自分でそうするかという違い。
こりゃまた「敷居」って言葉を考えさせる発言ですね。
692:デフォルトの名無しさん
08/11/16 00:46:20
>>690
Subversionはファイル名のエンコードはロケールに合わせてくれるので、
日本語ファイル名はOSXでのNFD問題以外は問題はないな。
> 結局(ファイルの中身以外)utf-8で統一するなら、何使っても問題無い
これはOSXとLinuxで日本語の濁点を含むファイル名を利用してみれば、
そんなに簡単ではないということが分かるハズ。
693:デフォルトの名無しさん
08/11/16 00:51:10
URLリンク(sourceforge.jp)
694:689
08/11/16 00:59:26
>>690
なるほど、過去レスでも出てたCygwinのUTF-8パッチですね。
これは、試してみないとあかんなあ。
>>692
そこまで考えてなかたよ
>>693
ニュース: Gitサポートを開始しました - SourceForge.JP - SourceForge.JP
URLリンク(sourceforge.jp)
ソースフォルゲは相変わらず、Windows軽視だよなあw
695:デフォルトの名無しさん
08/11/16 02:28:02
Windows(笑)
696:デフォルトの名無しさん
08/11/16 05:40:03
>>684
Mercurialは3.0待ちかもしれないけど、Bazaarはもう日本語まったく問題ないよ。
TortoiseBzrも日本語ちゃんと扱えてる。
(参考) URLリンク(dsas.blog.klab.org)
697:デフォルトの名無しさん
08/11/16 09:25:01
全角英数字使う奴は信用ならん
698:デフォルトの名無しさん
08/11/16 09:30:12
とはいえBzrにTotoiseがでたんだね。試してみる価値はありそう。
あとは速度がhg以上なら乗り換えるんだが。
699:デフォルトの名無しさん
08/11/16 10:21:09
>>696
やっぱり日本語だめだったよ。
TortoiseBzrで Init して日本語ファイル名をTortoiseBzrでaddし、
ファイルの中も日本語にしした結果、
TortoiseBzrでdiff → ファイル名は日本語で表示されるが中身が文字化け
cmd.exe上でdiff→中身は日本語で表示されるがファイル名が文字化け
ちなみに1.9のレポジトリフォーマットにしてみた。
あとGeneral Bazaar Options.. が開かないがバグかな。
それと、デスクトップ上でInitしようとしたらできなかった。
空文字入りパスは対応できない様だ。
ちょっと使っただけでこれだけ不具合が見つかる様じゃ、
まったく実用に耐えないね。まぁ、今後に期待はするが。
700:デフォルトの名無しさん
08/11/16 11:09:39
>>696
MercurialはUnicodeベースに変更できるからもう問題ないだろ
どこに問題があるんだ?
701:デフォルトの名無しさん
08/11/16 11:22:35
TortoiseBzr入れてみたんだが、そもそも日本語フォルダで Init できないのは
なんか設定ミスってる?
702:デフォルトの名無しさん
08/11/16 11:29:59
つかこれだけ国際化についての問題意識が広まっていながら
この体たらくって一体なんなんだろうね
703:デフォルトの名無しさん
08/11/16 11:44:30
海の向こうの変な文字のことなんて気にしないニダ
704:デフォルトの名無しさん
08/11/16 12:16:05
海の向こうはマジで
「『漢字』などという象形文字を使っている国は文化レベルが低い」
と思ってるらしいぜ。
705:デフォルトの名無しさん
08/11/16 12:29:26
自分らの文字は letter で漢字は character ですって。笑わせますよね。
706:デフォルトの名無しさん
08/11/16 12:38:03
よく体に漢字を彫ったりしてるじゃんw
自分にないものは格好良く見えるのか
707:デフォルトの名無しさん
08/11/16 12:39:08
全角英数字使う奴は信用ならないというのは正解だったということか。
708:デフォルトの名無しさん
08/11/16 12:43:00
>>706
あれはイラスト
709:デフォルトの名無しさん
08/11/16 13:20:05
>>699
あー、diffは仕方ないね。Subversionだって同じだろ?
ああ、「ファイル名」は日本語に対応しているけど、「ファイルの内容」は
文字コードとか気にせずにそのまま記録しているだけだから、
文字コードの自動認識してくれないdiffで見ると中身文字化けする。
WinMergeのような、文字コードを自動認識してくれる外部diffを使わないと
いけないな。
710:デフォルトの名無しさん
08/11/16 13:44:17
デスクトップ上でも空文字(スペース?)入りパスでもInitできたけど、なにが違うんだろ
711:デフォルトの名無しさん
08/11/16 14:28:10
>>709
すべてwindows上でやってるのにそれはないだろ。
subversionで同じ事やっても文字化けなどしないよ。
712:デフォルトの名無しさん
08/11/16 15:38:08
文句言うだけじゃなくて、日本人がもっと開発に参加して
日本語バッチリにしてやろうぜ。
713:デフォルトの名無しさん
08/11/16 15:50:37
Tortoise BZR doesn't support repos with non-latin characters in path
URLリンク(bugs.launchpad.net)
714:デフォルトの名無しさん
08/11/16 15:55:10
>>711
いやいや、俺Windowsでも普段UTF-8でテキストファイル書くし。
エンコーディングの自動判別していない限り、「たまたま」テキストファイルの
エンコーディングと表示に使うエンコーディングが一致したときに化けずに
表示されるだけ。
715:デフォルトの名無しさん
08/11/16 16:14:08
つーか中国でも普段使いの文字コードはだいたい1つだし、
環境によって文字コードを3種類から使い分ける必要がある国なんて日本ぐらいなんじゃね
日本人が対応するしかないだろ
716:デフォルトの名無しさん
08/11/16 16:18:12
>>700
設定の煩雑さ。
…使ってるけどさ。
717:デフォルトの名無しさん
08/11/16 16:32:36
>>715
何言ってんだ
中国のほうが環境によって使われる文字コードは多いだろ
日本語の EUC-JP(UNIX系),シフトJIS(DOS系),JIS(メール)に対応するものが
中国にもある上、繁体字・簡体字の区別もある
718:デフォルトの名無しさん
08/11/16 16:48:02
URLリンク(repo.or.cz)
719:デフォルトの名無しさん
08/11/16 17:05:02
>>718
Windowsでまともに動かないのにwww
作ったやつは頭がいかれてんじゃねwww
720:デフォルトの名無しさん
08/11/16 18:46:33
>>717
中国の 繁体字 簡体字 は文字体系そのものが違うから関係無い話
繁体字で保存したテキストを簡体字で読むこともあるとか考えてたなら帰れ
721:デフォルトの名無しさん
08/11/16 22:34:07
>>720
バカの言い訳は見苦しい
そもそも何の話をしてるか理解してるか?
722:デフォルトの名無しさん
08/11/16 22:52:07
>>720
723:デフォルトの名無しさん
08/11/16 22:59:30
>>721-722
何の話をしてるか理解していないようだから言っておくが
中国では繁体字 は big5 簡体字は EUC で FA だ
日本のように保存したファイルを別の文字コードに変換して表示したい
=Windows でコミットしたファイルを Unix でも見たい
と言った状況でも何ら問題無いため文字コードの変換という実装は必要無い
=現在の実装でも運用にさしたる問題は生じない
=運用に問題が生じる日本から声を出していかないと開発側には問題が伝わらない
分かったなら俺と一緒に英語メールの書き方勉強しろや
724:デフォルトの名無しさん
08/11/16 23:04:45
簡体字はgbの方が主流。適当に語るのはやめれ。
725:デフォルトの名無しさん
08/11/16 23:10:06
EUC-CN と GB は同じだから。
726:デフォルトの名無しさん
08/11/17 00:00:04
bzrのdiffがコードページを無視してutf8を使ってるという話が、
文字コード自動判別の話になり、
中国語の文字コードの話になって、
文字コードを勝手に変換してプラットフォーム間の差異を吸収して欲しいという話になりました。
終わり。
727:デフォルトの名無しさん
08/11/17 00:06:21
出力時にコンソールのコードページをcp65001にすればいいだけじゃ?
728:デフォルトの名無しさん
08/11/17 00:17:32
中国はどうでもいい。
日本語環境だけが興味あるんだが。
729:デフォルトの名無しさん
08/11/17 00:20:22
日本語環境
svn >> git > hg >> bzr
でFA?
730:デフォルトの名無しさん
08/11/17 00:28:56
svn = bzr > hg = git
731:デフォルトの名無しさん
08/11/17 00:39:26
gitとhgは中身がロケール依存なので個人的にはなしの方向だな
732:デフォルトの名無しさん
08/11/17 01:32:34
gitがその位置ってのはありえないだろう
733:デフォルトの名無しさん
08/11/17 01:34:08
ごめんgitありえないだろうは、>>729ね。
734:デフォルトの名無しさん
08/11/17 07:19:22
おいおい、windows環境だけで化け化けの
bzrはどう見ても最下位だろう
735:デフォルトの名無しさん
08/11/17 09:04:21
>>734
化けて見えるのはdiffの表面上の問題だけで、リポジトリの中身はしっかりしてるから。
diff も、 bzr diff | vim - みたいにエディタで見れば問題ない。
svn, bzr:
ファイルの内容はそのまま、ファイル名はUnicode
(Windows と Linux で日本語ファイル名のファイルを行き来させても大丈夫)
git, hg:
ファイルの内容はそのまま、ファイル名もそのまま
(Windows と Linux で日本語ファイル名を行き来させるとどっちかで化ける)
736:デフォルトの名無しさん
08/11/17 09:38:33
svnもcygwin版じゃダメだぞ
737:デフォルトの名無しさん
08/11/17 09:44:32
>>736
cygwinはlocaleないからなぁ。。。
UTF-8版cygwinならなんとかなるのかな。
738:デフォルトの名無しさん
08/11/17 12:19:57
>>735
ログは皆UTF-8かな?
739:デフォルトの名無しさん
08/11/17 12:20:23
結局どれやねーん
740:デフォルトの名無しさん
08/11/17 12:36:08
>>739
わかるぞ、その気持ち
741:デフォルトの名無しさん
08/11/17 15:08:35
名前 bzr >>> hg >> git # ギット(笑) 商売の神マーキュリーから取った"気が変わりやすい"(笑)
コマンド名 hg >> git >>>>> bzr # 打ちやすさから。hgとmercurialの差が大きすぎるのは考慮してない。
使いやすさ ??? # 主観入るだろうから省略
Webインターフェース bzr > git >>>> hg # bzrはloggerhead(hgwebの派生)ね。hgwebの使いにくさは異常。
ホスティングサービス bzr >>>> git >>>> hg # launchpadはバグトラッカー付きでいたれりつくせり、githubは普及している、bitbucketは…
拡張性 bzr >>>> hg >> git # gitはC言語だからしゃーねーわな、でもgit-svnの酷さはフォローしない。あとhgは内部APIがショボいとか。プラグインの数の少なさからも裏付けられる。
設計の良さ bzr >> git > hg # 抽象化度
実装の良さ git >>>> bzr > hg # diffやmergeのアルゴリズムとか
SVNとの親和性 bzr >> git >>>>>>>> hg # bzrはbzr-svn、gitはgit-svnで評価。
使用率 git >>>> hg > bzr # Debianのpopconのデータからなので正確では無い
速度 git >>>> hg = bzr(1.9) >>>>> bzr(pack-0.92) # ちゃんと計測していない…。ちゃんと計測したいが…。
将来性 git >>> bzr >>> hg # gitはLinux Kernelで使われ続ける、bzrはUbuntuで使われ続ける、hgは…?
国際化 ??? # どれも完璧じゃない。cygwinに関してはcygwin側の問題だからそちら側で解決してもらえ…と言いたいけど、確か開発元がRHだから無理だろうなぁ(RH/Fedoraは未だに閉鎖的と感じる)。
とりあえず速度厨はgitを、拡張厨はbzrを、どっちつかずはhgを使っておけば良いと思うよ^^
742:デフォルトの名無しさん
08/11/17 15:53:35
たぶん、日本国内だと、日本語解説サイトの数や充実度と、解説本の数で
勝負が決まってしまうと思う。Fedoraが日本でだけ万人向けディストロとして
流行ったみたいに。
743:デフォルトの名無しさん
08/11/17 17:46:56
hg のフォローしておくと、まず Mozilla や Sun では使われてる。
あと、コマンドが少なくて良い。同じことをやるのに迷う必要が無い。
一番良いのが基本的に push pull が HTTP で完結してること。
FW の設定いらんから大概使える。
Tortoise も一応あるし、速度 git 拡張 bzr 可搬 hg ってことにしといて。
744:デフォルトの名無しさん
08/11/17 18:08:02
>Mozilla や Sun では使われてる
いや、そうでなくVCS自体の開発の後ろ盾の話。gitならLinuxのカーネルコミュニティ、bzrならCanonicalだけど、hgはどうだっけか。
>コマンドが少なくて良い
--helpに出てくるコマンド多くね? むしろいくつかの面白いコマンドがあるところがhgの利点だと思うが。
>push pull が HTTP で完結
bzrもgitも対応してね?
745:デフォルトの名無しさん
08/11/17 19:23:02
hg mercurial >> bzr bazaar
URLリンク(www.google.com)
git >> hg mercurial
URLリンク(www.google.com)
git > subversion
URLリンク(www.google.com)
subversion >> git (in japan)
URLリンク(www.google.com)
746:デフォルトの名無しさん
08/11/17 19:29:59
git って HTTP で完結してたの?
747:デフォルトの名無しさん
08/11/17 19:33:08
>>746
URLリンク(en.wikipedia.org)
Bazaar: HTTP, SFTP, FTP, custom, custom over ssh, email bundles, WebDAV (with plugin)
Git: custom, custom over ssh, rsync, HTTP, email, bundles
Mercurial: HTTP, custom over ssh, email bundles (with standard plugin)
748:デフォルトの名無しさん
08/11/17 20:43:18
>>747
FTP, SFTPがあることにびっくりだよBazaar!
749:デフォルトの名無しさん
08/11/17 22:20:07
主観は入りまくりだけど、そこがよい
>>741乙
750:デフォルトの名無しさん
08/11/17 22:39:12
>>735
表面が化けてちゃ、おいしさも半減なわけですが。
いちいちvimでなんかみたくないし、Tortoiseで化けるのは
設定でなんとかなるの?
751:デフォルトの名無しさん
08/11/17 23:11:22
>>750
Tortoiseの方は.bzr/.branch/branch.confで
「encoding = エンコーディング」を指定したら
logメニューからの表示は文字化けしなくなった。
diffメニューからの表示は文字化けするようだ。
コマンドラインから起動する場合はbzr qdiff --encoding=ARGで
一回実行すればエンコーディングのオプションはbranch.confに記録される。
752:デフォルトの名無しさん
08/11/17 23:15:17
>>741
Gitのマージアルゴリズムはhgやbzrよりも劣るんじゃなかったっけ。
最近はそうでもないのかな?
753:デフォルトの名無しさん
08/11/18 02:47:52
Mercurialで、不要になったbranchを閉じるって、今のところ実装されてないんだね。
↓一応、対策は提案されてるけど。
URLリンク(www.selenic.com)
開発チーム内に余計なbranchを作る奴が居ても、ずっと放置か。
hg branchしてない、名無しのheadでも同じ事だよね。
今のところは、リポジトリのcloneによる(概念的)branchの方が整理をつけやすくて
安全って事なのかな。
754:デフォルトの名無しさん
08/11/18 03:01:03
>>748
そう。さくらのレンタルサーバーとか、FTPやsftpが使えれば、サーバーに
bzrをインストールしなくてもクライアントにだけbzrがあれば使えるのが強み。
これに慣れると、gitとかサーバー側にインストールするの面倒。
755:デフォルトの名無しさん
08/11/18 03:06:22
>>750
中身がしっかりしてれば、表面なんてどうにでもなる。
あるひとつの条件で、たまたまsvnが化けずにbzrが化けたからって、
svnの方が良いと考えるのは軽率すぎる。
bzrで化けるときの対策方は>>751が教えてくれたけど、TortoiseBzrで
WinMerge使えるようにはしたいね。今忙しいけど、手の空いたときに
試してみる。
756:デフォルトの名無しさん
08/11/18 03:17:06
>>754
sshfs でマウントしてしまえば git だろうが hg だろうが自由自在だと思うが.
757:デフォルトの名無しさん
08/11/18 03:25:17
Windowsでsshfsとかできないじゃん
sshfsする一手間が面倒じゃん
そもそも、安いレンサバだとssh使えないでFTPだけ使えるとかあるじゃん。
758:デフォルトの名無しさん
08/11/18 06:49:18
>>755
bzrは日本語全く問題ないんではなかったのか?
問題ありありなわけだが。嘘つき。
単一プラットホームで化けるなんて、中身がどうのこうの以前の問題だろ。
いくら、小手先の対策示しても意味ない。
759:デフォルトの名無しさん
08/11/18 11:33:44
>>758
そもそもdiffってのは、二つのファイルのエンコーディングと、ファイル名のエンコーディング、
合計3つのエンコーディングが混ざってるから、「完全」なんてありえないんだよ。
たとえば、コンソールでdiff出力してファイル名が化けるのは、ファイル名をUTF-8で出してるから。
svnで化けないって事は、svnはlocaleやコードページに変換してるんだろうな。
でも、そのdiffで作ったパッチを、メールでLinuxユーザーに送ったらどうなると思う?
「問題ない」といってるのは、「ソ連」みたいな0x5c問題や、環境依存のファイル名エンコーディングを
そのままリポジトリにぶち込んでしまってほかの環境でファイル名が化けたりといった、日本語
ファイル名を扱う上での話をしてるんだよ。
760:デフォルトの名無しさん
08/11/18 15:21:47
それってdiff一般の話じゃないよね。
bzrのdiffの実装がそうなってるってこと?
761:デフォルトの名無しさん
08/11/18 20:01:04
>>760
コンソール上のdiff一般の話だよ。
diffが化けないのは、(1)コンソール、(2)ファイル名、(3)二つの入力ファイルの内容
すべてのエンコーディングが一致したときのみ。
ファイル名に関しては、diffで作ったパッチを送信したりすることを考えるとエンコーディングを
統一するべきで、統一するならUTF-8が妥当。なので、コマンドプロンプトをchcpでUTF-8
モードにするか、 diff | gvim - みたいにテキストエディタで見るしかない。
Linux でも、 diff の出力はリダイレクトでファイルに保存するかパイプで直接エディタで見るのが基本。
Bazaar Plugin の extdiff を使えば、外部の diff プログラムと連携できる。Windowsなら
WinMergeとか使うと吉。
762:デフォルトの名無しさん
08/11/18 20:02:56
>>755
せっかくなので外部コマンドとエイリアスの使い方を書いておきます。
当面はコマンドツールとの併用になるでしょうから。
bzr diffでWinMergeを使いたいならオプションとして--using=WinMergeを指定します。
WinMergeの注意事項としてはmlang.dllによるコードページの検出オプションを
有効にしていないと付けないと文字化けします。
オプションの入力を省略したければbazaar.confファイルを
編集してエイリアスを設定します。
設定ファイルの位置はbzr versionで見つかります。
[ALIASES]
diff=diff --using=WinMerge
763:デフォルトの名無しさん
08/11/18 20:10:06
ちなみに、GUIのdiffプログラムだとテキストエディタと同じで文字コード指定が
簡単にできたり自動認識したりすると良くて、その点 TortoiseBzr の中の qdiff は
機能不足。(これはBazaarの問題ではないが、周辺環境が揃ってない一例)
俺はソースをはじめテキスト類は全部UTF-8で書いてるから qdiff でも全く文字化け
しない。
Windowsも早く日本語の標準マルチバイトエンコーディングをUTF-8にすれば良いのに、
いつまでcp932なんて使ってるんだろう・・・
764:デフォルトの名無しさん
08/11/18 23:43:44
cp932なのはwindowsが悪いけど、
今のbzrだと文字コードのせいですんなり使えないね。
765:デフォルトの名無しさん
08/11/19 01:05:57
Mercurialのレポジトリをhgwebdir.fcgiで公開してるんだけど,これってすごく重くない?
うちのサーバがボロってのもあるかもしれないけど,大きめのファイルを開くと一気に
ロードアベレージが跳ね上がってしまう.
pdfファイルに至っては選択するといつまでたっても応答が返ってこないでCPU食いつぶしてるし.
これってこういうもんなの?
766:デフォルトの名無しさん
08/11/19 01:51:29
>>765
スペック、構成、設定、ロードアベレージは具体的にどのプロセスが、IOとCPUのどちらで
重いのか、hg serve と比べてどれくらい遅いのか。
これくらいまとめてから質問しようぜ。
767:765
08/11/19 10:04:11
>>766
単に愚痴るだけのつもりだったんだけど,そのくらいの情報は出しとかないと
毒にも薬にもならんわな.すまん.
サーバ機のスペックは
CPU: Celeron 2.4GHz (詳しいことは忘れた.4年前くらいのセレロン)
メモリ: 256MB
OS: Ubuntu 8.10
このマシン上でlighttpdからhgwebdir.fcgiを呼び出してる.
hgwebdir.fcgiはHGENCODINGをUTF-8に指定したくらいで,
他は特ににいじってない.
各レポジトリはbz2,gz,zipでのダウンロードを許可していて,
pushにはDigest認証が必要にしてある
で,pdfを開くと応答が返ってこないんだけど,このときCPU使用率が
跳ね上がっていることを確認済みで,IOなどは特に異常な数値は示し
ていない.原因になっているプロセスはwebサーバを走らせているユー
ザの権限で動いている
python /usr/share/hg/cgi-bin/hgwebdir.fcgi
他の形式(テキスト形式のファイルや画像)だと,pdfよりサイズが
大きい場合でも一時的にCPU使用率があがるものの,きちんと表示される.
あと,hg serveだと動作が軽快にはなってるみたいなんだけど,
pdfを開こうとすると上で書いたのと同じような症状になって応答が
返ってこなくなる.
768:デフォルトの名無しさん
08/11/19 10:12:13
>767
知らんけど、内部でPDFをテキスト化するツールとか、Ghostscriptとかを
呼び出そうとしてトラブってるんじゃないの? Prostscriptの記述がバグって
無限ループしてるとか、展開サイズが大きすぎてメモリ不足になってるとか。
769:デフォルトの名無しさん
08/11/19 12:10:57
TortoiseHg 0.5での質問があります。
・日本語ログがupdate revisionで化けるので、事実上日本語ログが使えなくない?
・GUIで hg mv する方法はないのでしょうか?
・pushした日本語ファイル名がWindows以外の環境で化ける、というのは本当でしょうか?
770:766
08/11/19 12:21:38
>>767
ん、メモリが少なめだから、全体的にロードアベレージが高いのは
リポジトリがキャッシュからすぐに消えちゃってる可能性がある。
pdfに関してはIOが低いならメモリの問題じゃないんだけど、Mercurialは「pdfだけ」
という処理はしてない。変なプラグインは入れてないよね?
ということで、こっからエスパー。
pdfって、ブラウザプラグインで、ブラウザの画面内に表示してない?
その場合、HTTPクライアントはブラウザじゃなくてプラグインになってるから、
それが分割ダウンロードとかしようとして負荷をかけてる可能性がある。
Adobe Readerのブラウザプラグインを無効にして、ブラウザが
「テンポラリファイルに保存→スタンドアロンのAdobe Reader 起動」
するようにしてみて。
あと、hg serveで軽くなるなら、fcgiの設定が良くない(メモリ食い)という可能性がある。
fcgi使ったこと無いんだけど、スレッド数やプロセス数を減らせない?
lighttpd も同時接続数を3くらいに減らしてみて。
771:デフォルトの名無しさん
08/11/19 12:31:35
>>769
最後の問題、ファイル名エンコーディングをロケールから判別して、リポジトリに
入れる前にUnicodeへデコードするパッチを日本人が本家MLに送ったんだけど、
「ファイル名はファイルの内容と同じでバイナリ弄らない」とか言われてrejectされた。
なので、今は win32mbcs という拡張で対応しないといけない。一人でも対応してない
ヤツがpushしたら、そのリポジトリはcp932ファイル名で汚される。
ただし、これはコンソールのエンコーディングがUTF-8じゃない場合の話で、
TortoiseHgだと最初からUnicodeでファイル名を使ってるかもしれない。
俺は TortoiseHg 使ってないんだけど、コンソールとTortoiseで日本語ファイル名を
やり取りしてみたら?
772:769
08/11/19 12:36:20
> ・pushした日本語ファイル名がWindows以外の環境で化ける、というのは本当でしょうか?
そもそも、Mercurialでは日本語ファイル名がコミットできないようです。
TortoiseHgでは、コミットウインドウでファイルを追加してもcommitボタンが押せず、
全選択チェックボックスを押すとcommitボタンが押せるのですが、
正常コミット時のように閉じてくれず、hg stで確認しても変化なしでした。
コマンドラインのhgでは、
> hg ci -A -m "initial commit from command line"
adding ・が怖い、・の・フトSJIS.txt
removing ・が怖い、・の・フトSJIS.txt
・が怖い、・の・フトSJIS.txt not tracked!
・が怖い、・の・フトSJIS.txt does not exist!
nothing changed
というように言われ、hg stで確認しましても変化ありません。
実はWindowsでのhgは日本語ファイル名に対応してなかったのですね・・・。
TortoiseHg 0.5と付属のコマンドラインのhgで確認しました。
ファイル名:表が怖い、噂のソフトSJIS.txt
中身は適当な感動コピペをSJISで保存です。
773:769
08/11/19 12:40:13
>>771
ああ、わかりました。
標準でSubversionのようにUnicodeへのデコードなどはやってないわけですか。
で、ロケール(日本語WindowsだとSJIS?)で入ってしまう、と
(そもそも入りすらしなかったけどw)
ファイル名とかログのエンコード周りは基本的なことだと思うのになあ。
OSSで使うならなお更なのに・・・
774:デフォルトの名無しさん
08/11/19 12:46:20
>>773
入りすらしないのは、0x5c問題だと思うよ。
0x5cが入ってないファイル名だと、コミットはできるけど、そのままリポジトリに入っちゃう。
(から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
そもそも「ファイル名はバイト列として変更せずに扱う」というポリシーが間違ってると思うけど、
外国人には伝えにくいからねぇ。gitは最初からWindowsなんて気にしてないし。
Python3.0になると、文字列=unicodeになるから、「ファイル名のバイト列」自体消滅する。
MercurialもPython3.0対応する時点で嫌でもポリシーを修正するはず。
その前にBazaarに乗り換えたほうが幸せな気もする。
775:765
08/11/19 13:03:46
>>768
Mercurialのレポジトリブラウザってpdfをテキスト化して表示するの?
コード眺めた感じそれっぽい部分は見当たらなかったけど.
>>770
> pdfに関してはIOが低いならメモリの問題じゃないんだけど、Mercurialは「pdfだけ」
> という処理はしてない。変なプラグインは入れてないよね?
そうなんだよね.なんでpdfに限ってこんなことになるのかがよくわかんない.
プラグインもなにも入れてないです.
> Adobe Readerのブラウザプラグインを無効にして、ブラウザが
> 「テンポラリファイルに保存→スタンドアロンのAdobe Reader 起動」
> するようにしてみて。
やってみたけど,症状はかわらずです.
というか,テキスト表示できないタイプのファイルってチェンジセットから
選択すると,最初に"これはバイナリファイルですよ"みたいなページに
遷移するよね?そのページのrawの項目を選択するとダウンロードが始まる,
みたいな.
pdfの場合,チェンジセットから選択したあとの最初の遷移の段階でとまって
しまうので,そのあたりは関係ないような気もする.
> あと、hg serveで軽くなるなら、fcgiの設定が良くない(メモリ食い)という可能性がある。
> fcgi使ったこと無いんだけど、スレッド数やプロセス数を減らせない?
> lighttpd も同時接続数を3くらいに減らしてみて。
いちおうlighttpd側でmaxprocsを3にはしてあるんですけど,だめですね.
776:769
08/11/19 13:05:29
>>774
> (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
いけますタ!
hg と TortoiseHgの両方でいけることを確認しました。
どうやらすごいFAQみたいですね。
それにしても、TortoiseHgがコミットログやらファイル名やら化けまくりで実用に耐えられないなあ・・・
プログラマはそんなでもないけど、デザイナとか複数人で使う時に、
英語ファイル名、英語ログ強制はまず使ってもらえないわ w
バージョン管理ソフトとかこういう環境的な物の導入には、
手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
> その前にBazaarに乗り換えたほうが幸せな気もする。
そちらを検討してみます。
いろいろ教えてくれてありがとう。
777:769
08/11/19 13:06:19
> バージョン管理ソフトとかこういう環境的な物の導入には、
> 手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
バージョン管理ソフトとかこういう環境的な物の導入には、
ソフトウェアの使い勝手よりも、むしろ
手回しが一番重要だということはわかっているつもりだけど、さすがに致命的すぎる。
778:766
08/11/19 14:24:59
>>775
あらら、エスパー失敗か。
じゃぁ、その pdf ファイルの先頭 4096 バイト内に 0 というバイトが存在しないと予測。
Mercurialは先頭4096バイトの中に 0 が有るかどうかでバイナリとテキストを判別しているから、
テキストだと思って頑張って表示しようとしている可能性がある。
779:デフォルトの名無しさん
08/11/19 14:33:54
>>774
> (から、win32mbcs が必要。 mercurial.ini の [extensions] で win32mbcs= という一行を追加)
環境変数 HGENCODING に cp932 を設定するのとでは何か違いある?
780:765
08/11/19 17:35:50
>>778
それであたりっぽい.util.binaryが問題の部分だね.
開発ブランチだとファイル全体で0というバイトの有無を判定してるので,
そっちを使ってみることにするよ.
今サーバが落ちてるので,結果がわかり次第また書き込むわ.
781:デフォルトの名無しさん
08/11/19 17:57:13
Mercurialは、どんなにTortoiseの完成度が高くなっても
デザイナーには使えない。概念的な部分の複雑度が高すぎる、
ってのが俺の印象だな。
プログラマーさえ、チームの2割もまともに理解できる奴いないと思う。
782:デフォルトの名無しさん
08/11/19 19:14:28
PDFってテキストファイルの中に一部バイナリ埋まってるような構造だからなぁ
783:765
08/11/19 20:44:14
765です。>>766さんの指摘で問題解決したので報告します。
問題の原因はファイルがバイナリかテキストかを判定するutil.binaryが、ファイルの先頭4096バイ
ト中に0というバイトがあるかどうかをチェックしていたことでした。
なので、この問題はutil.binaryを書き換えることで解決可能です。最初は開発版を使おうかと思って
いたけど、書き換えのみでとりあえず解決できたのでそうしました。ちなみに、バージョン1.0.1
のものを書き換えました。
書き換え自体は簡単なのでここには書かないけど、わからなければ開発版のコードを見れば大丈夫。
以上報告でした。付き合ってくれた方々ありがとう。
784:デフォルトの名無しさん
08/11/19 21:04:22
git format-patch でできたパッチを適用するのは git am しかないんでしょうか。
メールボックスとかシランので、単に git format-patch でできたパッチを適用したいだけなんですけど。
785:デフォルトの名無しさん
08/11/19 21:17:51
>>784
git am 0001-patch-name.patch
でいけました。メールボックスじゃなくてもいけますね。すんません。
786:デフォルトの名無しさん
08/11/19 21:51:03
hgのwin32mbcs拡張は前見たときは単に0x5c問題だけ回避してるように見えたんだけど
リポジトリに記録されるエンコーディングをユニコードにしてるって本当?
787:デフォルトの名無しさん
08/11/20 01:09:34
>781
基本的に理解力の低い人は、理解できない部分は無視してくれるので(例外は居るが)
まずはバックアップ支援ツールとして広め、ちょっとずつ高度化してくのが吉かと。
788:デフォルトの名無しさん
08/11/20 14:48:10
>概念的な部分の複雑度が高すぎる
ってのを読んだ限りだと、こいつは自分で使ったことが無いんだろうな
789:デフォルトの名無しさん
08/11/20 19:27:17
>788
いや、使ってみた感想だよ。俺が主に使ったのはLinux版のコマンドラインでだが。
他のメンバーは、より簡単なSubversion + TortoiseSVNでさえ、何度も繰り返し教えて
やっと使えるようになった状態だし、デザイナーが触るファイルにはロック機構が要ると思う。
プログラマでさえ、衝突時のマージがうまく出来ない奴も居るし、別branchの変更点を
trunkに取り込む為のマージ操作が出来る奴も限られてる。
で、この現状を見た時、より難解なMercurialを無事に導入出来るとは思えなかった。
790:デフォルトの名無しさん
08/11/20 19:34:37
svnの操作がどうこうよりもSCMについての根本的な理解が欠けてるだけなのでわ
791:766
08/11/20 21:03:38
>>789
Subversion から
792:デフォルトの名無しさん
08/11/20 23:18:43
>789
だからまずはバックアップツールとして使って貰えと。
いきなりコンフリクトの解決方法云々は、性急過ぎる。
SCMの歴史を追うように、RCS的な使い方から順に、
少しづつ教えていった方が理解は早いぞ。
というか、いきなり高度な事を教えると基礎がおろそかに…
793:デフォルトの名無しさん
08/11/21 08:40:27
>>789
俺もチーム内で広めようと思っているんだけど、
こんなの使えねー、っていうのをなるべく避けるいい方法ないかね。
まずは、
バックアップツール=個人で使ってもらう
↓
?
↓
補完キボン
794:デフォルトの名無しさん
08/11/21 11:08:45
バックアップツール=個人で使ってもらう
↓
毎日終業後に、SCMボランティアとして >793 が各メンバーのワーキングディレクトリを
チェックして回り、trunkとマージしてあげる
↓
「>793 っていい人だよね」
795:デフォルトの名無しさん
08/11/21 11:30:55
1年くらい前にSubversionを使わせるようになったけど
使わせるにあたって最近は分散型が流行ってて
こんな事が出来るようになると言っておいた
慣れてくると、こんな事が出来るようになると便利なのにって
思うようになるから、予めそう言う知識の断片だけを
頭に入れて貰ってから使わせてる
で、最近は分散型にも徐々に興味を持ってくれるようになった
問題は俺がSVKしか使えないことなんだけど
796:デフォルトの名無しさん
08/11/21 15:17:05
svnのコマンドを拡張して分散型として使わせてくれたらうれしいんだけどね。
そもそもコンセプトが違うし無理か。
797:デフォルトの名無しさん
08/11/21 15:45:44
>>796
それが svk
ただし、サイズ的にも速度的にも効率悪い。
798:デフォルトの名無しさん
08/11/21 15:47:16
あ、あと、Bazaarリポジトリを svn:// プロトコルで見せようというプロジェクトもある。
まともに開発されてるのかは知らないけど。
799:デフォルトの名無しさん
08/11/21 16:30:50
つ git-svn
google code projectでもgit使える。
Google Open Source Blog: Develop with Git on a Google Code Project
URLリンク(google-opensource.blogspot.com)
800:デフォルトの名無しさん
08/11/21 16:54:15
gitはコマンド違いすぎるだろjk
801:デフォルトの名無しさん
08/11/21 21:39:31
>793
(1)バックアップツールとして広める
(2)ある程度慣れてきたら、ブランチを切ったりマージする方法を教える。
他人の持ってるファイルを修正する必要が出てきた時や、
複数のバージョンを管理しなきゃならなくなった時を見計らって教えると良いかも。
(3)頃合を見計らって集中管理を始めるか、分散型だったらpush/pull等を教える。
802:デフォルトの名無しさん
08/11/21 23:47:12
・diffツールとして広める
のほうが良くね?
803:デフォルトの名無しさん
08/11/22 02:21:41
俺はファイルサーバ(レポジトリ)に自動でアップロード・ダウンロードを
してくれうソフトとして広めた。
これだと考え方が集中型に固定されてしまう気がしないでもないが……。
804:デフォルトの名無しさん
08/11/22 05:36:36
URLリンク(anond.hatelabo.jp)
こんな事態を避ける為にもバージョン管理システムを使いましょう
805:デフォルトの名無しさん
08/11/22 05:44:27
SubversionのVが大文字・・・
806:デフォルトの名無しさん
08/11/22 07:42:04
修正履歴というと ChangeLog のこと?
807:デフォルトの名無しさん
08/11/22 08:29:45
>>805
確かに「大恥かくでしょうがww」って書いといて SubVersion はないよな。
>>806
ChangeLog をソースのどこかに入れてるところもあるけど、>>804 のリンク
先が言ってるのは
// int i = 10; // DEL: 2008/11/10: Bug 1234 by ○○
int i = 11; // CHG: 2008/11/10: Bug 1234 by ○○
float f = 1.23; // INS: 2008/11/09: Bug 1230 by △△
みたいな奴だと思う。
808:デフォルトの名無しさん
08/11/22 08:48:06
// add 2008.11.22 nanashi-default
hoge.huga();
// add end 2008.11.22 nanashi-default
前の会社これだったな。CVS入れていても。
809:デフォルトの名無しさん
08/11/22 09:04:03
>>808
うちもそうだった……
つかコーダの人はCVS使えない
(結合試験完のソースを管理者に渡してコミットしてもらう)
辺りが間違いの元だったんじゃないかと……
810:デフォルトの名無しさん
08/11/22 09:07:12
>>808
うちもSubversion使ってるのにもかかわらず、そうする奴がいる。
本来のソースが見づらくなるんだよな。
811:デフォルトの名無しさん
08/11/22 09:15:18
> (結合試験完のソースを管理者に渡してコミットしてもらう)
刑務所みたいなふいんきを想像した
812:デフォルトの名無しさん
08/11/22 13:44:43
>>810
いるいるwww 俺はコーディング規約で明確に禁止した。
813:デフォルトの名無しさん
08/11/22 19:40:49
そういう奴らはDiffの使い方がわかってないんだよ。
TortoiseSVNやRapid入れて過去ログとの比較を教えてやったら二度としないと思うけどな。
814:デフォルトの名無しさん
08/11/22 19:51:07
コミット時にフックを掛けて弾くのも効果ある
815:デフォルトの名無しさん
08/11/22 20:27:51
>813
diffの使い方が分かってないと言うよりは、blame/annotateの使い方が分かってないんだろ。
816:デフォルトの名無しさん
08/11/22 20:36:06
blameはよくわからん
817:デフォルトの名無しさん
08/11/22 20:41:17
TortoiseSVNなら、blameの結果が専用ビューワーで超見やすい。
818:デフォルトの名無しさん
08/11/22 22:07:02
ところで、
いい加減TortoiseSVNのアップデートは自動でできるようにならんかね?
アップデートのたびにホームページ行ってダウンロードして上書きインストールしてから再起動・・・って
いちいち面倒だっつうに。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4998日前に更新/230 KB
担当:undef