- 1 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:02:52 ]
- バージョン管理システムについて語りましょう。
関連スレ CVS 1.3 [UNIX板] pc11.2ch.net/test/read.cgi/unix/1093611448/ CVS導入スレ〜 Rev.3 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1113141518/ Subversion r10 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1215565366/ subversion バージョン管理【サブバージョン】 [Linux板] pc11.2ch.net/test/read.cgi/linux/1154701996/ git スレッド [Linux板] pc11.2ch.net/test/read.cgi/linux/1197798039/ Bazaarでバージョン管理【bzr>git,svn,cvs】 [プログラム板] pc11.2ch.net/test/read.cgi/tech/1218083381/ 前スレ バージョン管理システムについて語るスレ2 pc11.2ch.net/test/read.cgi/tech/1215520728/ 前前スレ バージョン管理システムについて語るスレ pc11.2ch.net/test/read.cgi/tech/1193332500/
- 513 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:11:04 ]
- 禿同
- 514 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:11:49 ]
- Subversion使いたくない点はただ1つ
各ディレクトリに.svn作るダサさと、中央集権という点だけだ
- 515 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:12:28 ]
- Tortoise シリーズの完成度を抜きすれば Bazaar もありなんじゃね?
- 516 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:15:40 ]
- >>514
バージョン管理システムに慣れていない奴らを相手にするときは、 中央集権リポジトリの方が運用統制がとりやすいけどな。
- 517 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:18:16 ]
- >>515
仕事で使うのなら TortoiseBzr が使い物にならないのは致命的なのでは 全員が CUI 使ってくれるのならともかくとして
- 518 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:18:59 ]
- >>516
それに、使用者の学習コストを考えたときに、CSVやSubversionのモデルの方が理解が早い。 「ファイルサーバ上の共有フォルダ」というメタファーでいける。
- 519 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:20:15 ]
- WinCVS作ってたチーム(個人?)はどこ行ったんだ?
あれ結構出来が良かったのに。他のVCS用のクライアントも作ってほしいぞ。
- 520 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 18:21:42 ]
- eclipse+hgでも日本語だめだめなの?
- 521 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 19:28:42 ]
- GUI被せてバグることはあっても、逆は無いだろ。
- 522 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 21:16:43 ]
- つまり、生hgが駄目駄目ってことか。
- 523 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:08:53 ]
- 日本語通らないってことはない。俺は使えてるし。
ファイル名が長すぎるとかじゃないのか?
- 524 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:18:53 ]
- 通らないことがある、ってだけでもう致命的に駄目
- 525 名前:デフォルトの名無しさん mailto:sage [2009/02/21(土) 23:27:43 ]
- ディレクトリ名に構とかソとか含めてコミットしてみろ
- 526 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 00:27:04 ]
- 仕事で使う場合は、自分が気をつけてれば使えるってレベルだと駄目なんだってことが
どうしてわからないんだろう。
- 527 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 01:35:04 ]
- >>525
確かに化け文字はだめだな。 ファイル名の方は問題ないのになぁ。
- 528 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 07:42:04 ]
- >>522
そう >>525-527 ファイル名もダメっぴ いろいろ試したが、 x scripts/リンク処理/LINKに補助機能追加.js x scripts/リンク処理/LINK先を強制表示.js x scripts/検索/正規表現でページ内検索.js o scripts/リンク処理/2ちゃんねる用ポップアップ.js o scripts/リンク処理/IEで開く.js "能""表"とかのダメ文字だな hgの話ね
- 529 名前:デフォルトの名無しさん [2009/02/22(日) 14:18:00 ]
- fixutf8使えばいいだろ
- 530 名前:デフォルトの名無しさん [2009/02/22(日) 18:28:25 ]
- hg
ファイル名に0x5cがあると1.1から動かねー!!!!! 0x5cがあるとdelete返してきてファイルなしになってcommitできねーwwww 1.0.2に戻すと最新のリポジトリと互換性がないwwwwww 誰だよこんな糞仕様にしたやつはwwww
- 531 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:34:28 ]
- 仕様じゃなくてバグじゃね?
- 532 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 18:43:29 ]
- >>530
そういうのは気づいた人が報告しないと直らないんだぜ。
- 533 名前:530 [2009/02/22(日) 18:50:56 ]
- >>532
俺に言うなwww
- 534 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:49:58 ]
- >>528
通らない文字みるとあからさまにバックスラッシュ関係だねぇ "\"が2バイト目にあるマルチバイトが駄目ポ
- 535 名前:デフォルトの名無しさん mailto:sage [2009/02/22(日) 19:54:48 ]
- pythonって割と低レベルなんだな。
- 536 名前:デフォルトの名無しさん [2009/02/22(日) 19:57:36 ]
- hg
今のバージョンでもファイル名を直接指定すれば0x5cがあってもコミットできる。
- 537 名前:536 [2009/02/22(日) 20:00:01 ]
- ただし処理が昔のままなのでコミットできるだけで将来的には多分コミットできなくなるはずwww
- 538 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 08:43:01 ]
- 早く bzr が熟成しないかな。hg 見限りたくなってきた。
コマンドが多少打ちにくいとか、少々動作が遅いぐらいかまやせんよ。
- 539 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 10:52:29 ]
- bzr自体は十分使える状態だと思うよ。tortoiseBzrとかbzr-svnとか
周辺ツールにまだ難があるけど。 ただ、bzrにgitやhg的なbranchが無いのが痛い。 svn的なbranchならcloneで十分だし、シンプルな実装は賛同できるんだけど、 何だかんだ言っても便利だからなぁ。
- 540 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 11:59:00 ]
- 確かにBazaarを使ってると
master -> sub こんな風にbranch切ったあと、subのファイルを編集してるつもりが 間違ってmasterの方を編集してしまうことがあって こういう時には、ディレクトリ内容すげ替え方式のgit-branchがちょっと羨ましい あともう一つ羨ましいのはgithub
- 541 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 12:28:15 ]
- bzrにはlaunchpadがあるからいいじゃない。
しかも今年中にオープンソース化される。 ただ、シンプルにレポジトリの管理だけをしたい時に gitにはgitosisがあるのが有り難い。
- 542 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 14:51:48 ]
- >>535 hgがPythonの最低バージョンを2.4以降にしてくれればよかっただけのことなんだけどね。
>>538 成熟した頃には新しいバージョン管理ツールが出ていてそちらに目移りしているでしょう。
- 543 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 15:27:41 ]
- まあ英語圏の奴らが作ってるからいかんともしがたいな。
- 544 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 16:28:33 ]
- >>543
だが独自に修正することくらいはできる
- 545 名前:デフォルトの名無しさん [2009/02/23(月) 17:33:03 ]
- parent: 7554:11a4eb81fb4f
diff -r 11a4eb81fb4f -r 5dd432f98473 hgext/win32mbcs.py --- a/hgext/win32mbcs.py Tue Dec 30 22:10:41 2008 +0100 +++ b/hgext/win32mbcs.py Mon Feb 23 16:32:44 2009 +0900 @@ -44,6 +44,7 @@ import os from mercurial.i18n import _ from mercurial import util +from mercurial import extention, osutil def decode(arg): if isinstance(arg, str): @@ -108,6 +109,17 @@ sjis s_jis shift_jis_2004 shiftjis2004 sjis_2004 sjis2004 shift_jisx0213 shiftjisx0213 sjisx0213 s_jisx0213''' +def listdir_wrap(listdir, path, *args, **kwargs): + try: + path = decode(path) + if not path.endswith(os.sep): + path += os.sep + path = decode(path) + return listdir(path, *args, **kwards) + except: UnicodeError + raise util.Abort(_("[win32mbcs] filename conversion fail with" + " %s encoding\n") % (util._encoding)) + def reposetup(ui, repo): # TODO: decide use of config section for this extension if not os.path.supports_unicode_filenames:
- 546 名前:デフォルトの名無しさん [2009/02/23(月) 17:35:18 ]
- @@ -120,3 +132,5 @@
wrapname(f) ui.debug(_("[win32mbcs] activated with encoding: %s\n") % util._encoding) + extention.wrapfunction(osutil,'listdir', listdir_wrap) + diff -r 11a4eb81fb4f -r 5dd432f98473 mercurial/util.py --- a/mercurial/util.py Tue Dec 30 22:10:41 2008 +0100 +++ b/mercurial/util.py Mon Feb 23 16:32:44 2009 +0900 @@ -907,11 +907,11 @@ dircache = {} # dirname -> filename -> status | None if file does not exist for nf in files: nf = ncase(nf) - pos = nf.rfind(sep) - if pos == -1: - dir, base = '.', nf + dir, base = os.path.split(nf) + if dir: + dir += sep else: - dir, base = nf[:pos+1], nf[pos+1:] + dir = '.' cache = dircache.get(dir, None) if cache is None: try:
- 547 名前:デフォルトの名無しさん [2009/02/23(月) 17:35:59 ]
- >>544
お前が修正しろよ
- 548 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 17:51:30 ]
- >>545
本家には送らないの?
- 549 名前:デフォルトの名無しさん [2009/02/23(月) 17:54:41 ]
- >>548
windowsなんて持ってませんwww
- 550 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 18:50:03 ]
- >>545-546
ここに書き込んだコードの著作権は2chにある 取り込んでもらった後2chが訴えたら終わり
- 551 名前:デフォルトの名無しさん [2009/02/23(月) 18:58:28 ]
- >>550
常識的に考えてバグの修正に著作権が発生することはないと思うが
- 552 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 19:24:56 ]
- mercurialってGPLじゃなかったか?
- 553 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 19:30:20 ]
- www.23ch.info/test/read.cgi/tech/1223709050/#a672
- 554 名前:デフォルトの名無しさん [2009/02/23(月) 20:19:29 ]
- >>545
decodeを2回してるぞwww
- 555 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:37:33 ]
- >>545
ってか、修正してるバージョン古くね?
- 556 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 00:43:39 ]
- あーやっちゃったね。
そのパッチの著作権、2chに帰属しちゃった。
- 557 名前:デフォルトの名無しさん [2009/02/24(火) 01:03:41 ]
- >>555
1.1.2じゃね?
- 558 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 01:41:21 ]
- >>557
あー。なるほど。 リポジトリの最新のバージョンみてたわ…
- 559 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 07:08:27 ]
- >>551
こと著作権に関して常識的にってのは通用しない 著作権法がすべて そしてそれは常識とずれてるから世の中問題になってるわけで
- 560 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 10:34:22 ]
- >>559
BBSとかの規約もズレてる気はする
- 561 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 11:20:07 ]
- 2chに帰属ってのも実際は争ってみないとわからないんじゃないの。
- 562 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 11:59:49 ]
- そういうのがめんどくさいから、パッチ書いたらどこかにアップしてURLを示すのが吉。
- 563 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 12:42:14 ]
- >>551
常識て。w 著作権は著作物に自動発生するだけ。 バグがどうとか関係ない。
- 564 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:11:43 ]
- そのパッチ程度だと創作的と認められるか微妙かもしれんけどね。
- 565 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:57:05 ]
- ここに#include <stdio.h>とかi++;とか書いたらこれも2chのチョサッケーンになるのか
- 566 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 13:57:53 ]
- バカじゃねえの
- 567 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 15:49:22 ]
- 取り込む側が、余計なリスクを負うかどうかの問題なんだよ
- 568 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 16:00:59 ]
- >>565
その程度だと著作物としての創作的表現に入らないから np
- 569 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 16:29:53 ]
- >バカじゃねえの
は2chの著作物になりました
- 570 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 20:24:35 ]
- のまネコはavexの著作物
- 571 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 23:39:16 ]
- 前提条件としての議論の余地が多分にあるが
仮に2chに書かれたコードがGPLのpatchであるとして、 仮に2chにそのコードの著作権があるとして、 そのコードが、GPLの派生である以上、GPLでなければならないならば、 2chが自らの著作物として、そのコードがGPLであると主張した場合、 どのような問題が発生するのだろうか?
- 572 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 01:23:29 ]
- 日本語でおk
- 573 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 01:30:50 ]
- いつから著作権スレになったんだ?
- 574 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 02:03:58 ]
- スレ移動しようぜ、向こうは過疎ってるし。
こっちはこっちで 同じ話題を短い周期で 繰り返してる気がするけどなw
- 575 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:43:47 ]
- >>541
lanchpadはなんか規模がでかすぎる感じ。 インターフェースがわかりにくし、パッっとみ何するサイトなのか、なにしたらいいのかわからん。 githubとかBitBucket.orgみたいなコンパクトなリポジトリホスティングがほしす。 いってしまうと、googlecode projectみたいなのでいいんですよね。 それが、forkできればコラボが楽だなあ、という程度 (じゃあ、bzr-svnで(以下略)) あとlanchpadのサイト重いのもイヤイヤ感に拍車を掛ける。 lanchpadの利点がよくわからないから、どうしても否定的になってしまうな
- 576 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 08:45:25 ]
- そういえば、TortoiseGitってどうですか?
そこそこ使えますか? 日本語対応具合とか TortoiseGitで足りない機能ある時はコマンドライン版は何使ってます?
- 577 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 10:48:28 ]
- >>575
Launchpad使ってるけど、その辺の意見には同意 Bazaarでの開発にはとても役に立つし、実際に便利に使わせてもらっているんだが 画面のゴチャゴチャ感と重さはどうにかならないかなーと思う メニュー項目が必ず全部(使っていない項目も含めて)表示されることも、ゴチャゴチャ感を増している ちなみにLaunchpadの利点は ・独自ブランチ→マージ提案が便利(ほかのホスティングでも似た機能はあると思うけど) ・共同翻訳(Translations)に強い あたりかな
- 578 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 11:51:44 ]
- >>576
試してから書き込め
- 579 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 15:51:48 ]
- margeが優れてるのはdarcsでいいの?
- 580 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 16:13:12 ]
- mergeが優れているのは人。
- 581 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 16:22:50 ]
- >>579
mercurial or git
- 582 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 23:11:11 ]
- そもそもmergeが優れているってどういうこと
- 583 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 00:16:08 ]
- SubversionとMercurial使ってるけど、俺も「Mercurialはmergeが優れている」って
聞く度にいつも、いまいち意味が分からんと思う。
- 584 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 00:44:14 ]
- branchは、破棄されるか、trunk(master)に統合されるか二択。
そういったprojectなら、gitやhgはbranchしたのが何時だったか思い出す 必要が無い。mergeが優れているのは、その一点のみ。 その主張は、ほとんどの場合正しい。
- 585 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 01:34:55 ]
- ああ、branchで作ったディレクトリを見失う(どこにブランチ作ったか忘れる)心配がないって事ね
でもそれmergeが優れているわけではなくて、単なるbranch方式の違いだよな
- 586 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:08:42 ]
- マージの優劣って言葉通りじゃなくて、マージトラッキングや
その自由度・速度を含めたことだと思うが・・・
- 587 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:16:08 ]
- Mercurialって、マージの自由度低くない?
統合する方向のマージに強制されてるような気になってる来るというか、 cherry-pickingしにくい仕組み。 むしろ、Subversionぐらいの放任主義の方が自由感がある。
- 588 名前:デフォルトの名無しさん [2009/02/26(木) 02:28:45 ]
- git or mercurialは3-way マージでsubversionは2-way マージだったはず。
- 589 名前:デフォルトの名無しさん [2009/02/26(木) 02:32:41 ]
- >>587
機能を追加するたびに、bookmarkがbranchを使えばそもそもcherry-pickingする必要がない。 gitとmercurialは両方とも、mergeとcherry-pickingを区別してたと思う。
- 590 名前:デフォルトの名無しさん mailto:sage [2009/02/26(木) 02:50:41 ]
- >588
3-way マージって、 (1)自分が編集したバージョン (2)第三者が編集したバージョン (3)上の(1)の元になったバージョン の3-wayでしょ? なら、Subversionと一緒じゃん?
- 591 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 00:19:15 ]
- >>590
Subversionって、ファイル単位でコンフリクトしたらCになって終了(解消してね) じゃなかったっけ。今は違うのかな。 svkとかGitだと行単位でぶつかってなければ良い感じにマージしてくれる。
- 592 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 00:22:56 ]
- CVSの昔から、行単位でぶつかってなければ自動マージだろう……。
- 593 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 00:25:56 ]
- 行単位だよ。
- 594 名前:デフォルトの名無しさん [2009/02/27(金) 00:53:35 ]
- >>590
gitとmercurialは(3)が(1)と(2)の両方の元になったファイル
- 595 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 09:56:06 ]
- Linuxレベルならともかく、普通の規模のプロジェクトとか
普通の業務利用とかでそんなに賢いマージが必要 なのは、ちょっとどうかという気もするが・・・ マージだけならSubversionで困らない。 会社でSubversion個人でGitだけど
- 596 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 11:02:52 ]
- も少し賢くてもいいけどなぁ
あと Subversion は遅くね?
- 597 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 12:16:30 ]
- TortoiseHGでコミットするとき、Mステータスのファイルにデフォルトでチェック付けたい。
どっかで設定できる? コミットツールはinternalって設定にしてる。
- 598 名前:デフォルトの名無しさん mailto:sage [2009/02/27(金) 15:48:06 ]
- 分散SCMだと分岐したまま進められちゃうから、
共通先祖を考慮したマージが必要なんじゃないかな。 Mercurial の内部マージと diff3 のマージってどっちがいいのかな? 衝突時に共通先祖が表示されるんで diff3 使ってるけど・・・
- 599 名前:デフォルトの名無しさん mailto:sage [2009/02/28(土) 03:32:14 ]
- デフォルトでチェックされてるけど
- 600 名前:デフォルトの名無しさん [2009/02/28(土) 08:09:04 ]
- 600
- 601 名前:デフォルトの名無しさん [2009/03/01(日) 13:26:37 ]
- 分散型のバージョン管理システムの場合、
それぞれのリポジトリはリポジトリ丸ごと 持っているという感じなんでしょうか? あるリポジトリをマスターと決めたとして、 そのフルのクローンをそれぞれ持っているということでしょうか? いまはSubversionを使っていて trunk, branches, tags 型で かんりしてまして、branches の下の自分が作業を進める ブランチだけ手元のワーキングコピーにチェックアウトして 作業しており、マージはマージ担当(まれに自分)に任せてます。 そもそも分散型だと trunk, branches, tags 型の 管理というのはやらないものなのでしょうか? 分散型のバージョン管理システムの紹介記事を読んでいると、 そもそも「ブランチ」というのはリビジョンツリー(というかDAG) 上の異なるヘッドことを指しており、リポジトリ上で別の ディレクトリとして分岐されたものという意味ではないですよね? 確かに「ブランチするときはそのブランチ用のリポジトリを 作れば良い」という記述も見ました。そのときリポジトリ丸ごと クローンするのでしょうか?巨大なプロジェクトだと一部だけ クローンして作業を進めたいというのはあり得ると思います。 分散型だと「あるリポジトリが消失しても別のリポジトリを マスターと思えばよい」という記述も見ましたので、 分散している各リポジトリはそれぞれ対等にフルのツリーを 持っているのでしょうか?
- 602 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 13:50:00 ]
- VCS毎に違いはあるだろうけど、たいていはローカル(というかハードリンク可能な場所)なら
ハードリンクでリポジトリの内容を共有して領域節約できる。 ネットワーク経由の場合もフルに取ってくるんじゃなくて、最新からこのリビジョンまでって指定も出来る。 「ブランチ」って言葉の使い方も、VCS毎に変わるから一概に言えないな。 gitやhgは同じリポジトリの中でブランチ出来るけど、bazaarはリポジトリも別になるとか。 結局のところいくら記事読んでも、実際使ってみないと実感わかないと思うよ。 きっと分散じゃないVCS使い始めたときもそうだっただろ。 Subversion使ってるなら、svkとかgit-svn使ってみるとか。
- 603 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 14:11:54 ]
- そもそも「リポジトリ」という言葉の意味すらシステムによって違うしな
>>601 端的に言うと、分散型の進め方では 「フルのクローンをそれぞれ持っている」という理解はおおよそ合ってる 各作業メンバーが、「masterの履歴+自分が行った変更の履歴」を持ってるような感じ > 巨大なプロジェクトだと一部だけ > クローンして作業を進めたいというのはあり得ると思います。 一部だけ持ってこれるような仕組みがあるよ たとえばBazaarなら、履歴なしで最新版のファイルだけを取ってこれるようなオプションがある
- 604 名前:601 [2009/03/01(日) 14:58:56 ]
- >>602-603 ありがとうございます
>gitやhgは同じリポジトリの中でブランチ出来るけど、bazaarはリポジトリも別になるとか。 分散型といってもいろいろあるんですね、流儀が(当たり前か)。 >>602 wrote ネットワーク経由の場合もフルに取ってくるんじゃなくて、 >最新からこのリビジョンまでって指定も出来る。 >>603 wrote たとえばBazaarなら、履歴なしで最新版のファイルだけ >を取ってこれるようなオプションがある リビジョン範囲は指定できるものもあるんですね。 「分散型」を十把一絡げで理解しようとしたのが間違いでした。
- 605 名前:601 mailto:長文すみません [2009/03/01(日) 15:01:29 ]
- 最も強く疑問に思ったのは、あるプロジェクトのリポジトリ内に
「アプリの主要部分、いくつかの下請けライブラリ、 ドキュメント、UI関係」などがあったとき、 自分が担当しているライブラリ、ドキュメントの部分だけを クローンして作業を進めるということができるのだろうか、という点でした。 これは最初から「ドキュメント用のリポジトリ」などに分離 しておくのが分散型の流儀なのだろうか?という点です。 これもDVCSによって異なるのかもしれませんが。 もう一つの疑問が、そのように完全に分離したとして、 共通の祖先をもたない複数のリポジトリを複数あつめて 一つのプロジェクトを遂行するのは難しいのでは?ということです。 たとえばプロジェクトの途中で「これは共通のライブラリで実現するように分離しよう」 などという決定が 可能なのだろうか、と懸念しています。 Pythonを常用しているので、まずはMercurialとBazaarから主に上記の点について 実感をもつべく使い始めてみようと思いますが、DVCSの機能もさることながら 運用上のポリシー という側面も大きいと思うので、実際に使っておられる方の アドバイス(ベターなプラクティス)があればぜひお聞かせください。
- 606 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 16:48:13 ]
- そもそも分離したいという目的は?
リポジトリの物理的大きさの問題であれば いまさらそんな気にすることはないと思うけど・・・ 管理面の規模の問題なら、分割するのもありかもね。 JDK7 なんかは分かれてるし。 分割した方が管理コストがさげられるならそうするべきでしょう。
- 607 名前:デフォルトの名無しさん [2009/03/01(日) 18:47:10 ]
- sarabande.info/doc/bzr/user-guide
ここの画像無くなってる?
- 608 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 20:27:43 ]
- >>601さん、なかなか興味深い質問ですね。
分散VCSを使い始めた人の意見や疑問点をもっと聞いてみたいので、ほかにも質問があれば遠慮なく書いてください。 もちろんすべてに答えられるわけではないですが、他の人にも参考になると思います。 >>606 ディスクスペースを節約するために必要なディレクトリだけ持ってくるというのはあり得る。 たとえばゲームのように画像や動画や音声ファイルがある場合、それらもリポジトリに登録するべきだけど、 そうするとリポジトリサイズが膨らみすぎて、いくらHDDが安いと言ってもちょっと困る。 リポジトリからとってくるネットワーク資源もばかにならない。 あと、ディレクトリごとにアクセス権をつけたいという要求もある。 たとえば画像ファイルは全員がアクセス可能だけど、元となるPhotoshopファイルはデザイナーだけがアクセス可能にしたい、とか。 #この場合はリポジトリを分けた方が自然かも。
- 609 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 02:43:14 ]
- >>608
メディアファイルをリポジトリに「登録するべき」と決めつけずに、 分散かどうかに関わらず、リソースなども照らし合わせて管理方法を検討すべきだろうね。 最新ファイルしかいらないのにそもそもリポジトリを公開すべきなのか、とかも。 サブプロジェクトへの権限委譲については、 やっぱりJDK7みたいにするのがいいんじゃないかな。 アクセス制限も分散は難しいし、ロックもないし、 人間どうしの折衝や信頼は結構重要。
- 610 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 09:52:12 ]
- >>605
あまり回答にはなってないだろうけど参考までに。 何度も書いたが、CVS は modules ファイルを駆使してリポジトリツリーの 好きなところからちぎってきて組み合わせられるのが便利だった。 管理が良くも悪くもファイル単位ゆえ、自作ライブラリディレクトリから アプリに必要なファイルのみチョイスするような芸当もできた。 今は Subversion を飛ばして Mercurial を使用(試用)中だけど、さすがに CVS のような細かいことはできそうにないし、ハードウェアリソースも KB 単位で ケチるような状況ではないので、ライブラリに関しては独立したリポジトリとして 開発時のディレクトリ構成を工夫している。 ただ、ファームウェアのような非常に小さなプロジェクトがたくさんあるような状況では、 いちいちリポジトリを分けるか一まとめにしてしまうかは悩むところ。分けると同期も面倒に なってくる。今のところ、とりあえず一まとめにしているけど、もっといい方法はないか思案中。 大きなプロジェクトで使うことに主眼が置かれているんだろうな。
- 611 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 22:23:29 ]
- >>608
> あと、ディレクトリごとにアクセス権をつけたいという要求もある。 > たとえば画像ファイルは全員がアクセス可能だけど、元となるPhotoshopファイルはデザイナーだけがアクセス可能にしたい、とか。 > #この場合はリポジトリを分けた方が自然かも。 こういう事やりたいなら、PerforceやTeam Foundation Serverのような、 クライアント・サーバー型のバージョン管理システムが適してる。
- 612 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 23:08:29 ]
- python3000で組まれたバージョン管理ツールってないのかな?
bzrやhg何かの古株が対応するよりも新しく作る方が 早いかもしれんし。
- 613 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:17:49 ]
- windowsで日本語も使えるのはどれになるのでしょうか?
darcsの話題があんまり出ないのは死んだプロジェクトになってしまったのでしょうか?
|

|