バージョン管理システ ..
[2ch|▼Menu]
480:デフォルトの名無しさん
08/03/26 19:56:27
Bazaar。。。。名前がいまいちなのがなぁ・・・・

481:デフォルトの名無しさん
08/03/26 20:30:04
Bizarreよりは普通だと思う

482:デフォルトの名無しさん
08/03/27 01:17:45
>>480
ゴザールを作るんだ


483:デフォルトの名無しさん
08/03/31 01:30:18
”ファイルのディレクトリ構造”ごと登録して、
その後、バージョン管理システム外で変更された、
”ファイルのディレクトリ構造(多少のファイルの増減あり)”を
チェックアウトなしで、そのままチェックインできるツールって、ありますか?

開発拠点が国内と、海外に数ヶ所と、
バージョン管理システムの導入を徹底できないので、困っております。

484:デフォルトの名無しさん
08/03/31 01:58:11
Subversion

485:デフォルトの名無しさん
08/03/31 08:13:17
svn_load_dir とかいうスクリプトがあったな。
他のツールにそういうのは無いのかな?

486:デフォルトの名無しさん
08/03/31 23:15:55
>>483
質問の内容に合っているかわかりませんが、Mercurialでリポジトリのあるところにファイルを展開して
hg addremove
hg commit
をすると、増えたファイルをリポジトリに追加、なくなったファイルをリポジトリから削除してくれます。

487:デフォルトの名無しさん
08/04/04 18:23:30
話題が途切れたので、ちょいと Mercurial を使った感想を…。

CVS → Subversion と集中リポジトリのリビジョン管理ツールを使ってきましたが、
Mercurial を使ってからというもの、
「サッとリポジトリが作れる」というのがとても気持ちよく、気に入っています。

ローカルの作業ディレクトリは、すぐに hg でリポジトリ化し
修正やコミットをかけた後、完成したらリポジトリ部だけ削除してます。

「作業ディレクトリにリポジトリがくっついている」という発想は
とても便利で面白いと思います。

488:デフォルトの名無しさん
08/04/04 18:29:55
続きです。

いままでしばらく Subversion+svk を使っていましたが、
いまでは Subversion+Mercurial という構成で使っています。

Subversion+svk のときは、svk で自分の手元に持ってきてから
ローカルで開発し、結果を svk smerge で一括送信していましたが、
今は Subversion でチェックアウトした内容をそのまま Mercurial に突っ込み、
Mercurial でさんざん修正・コミットした後、
最後に Subversion でコミットしています。

開発中に Subversion のリポジトリ上に修正が入っていた場合には、
Mercurial のブランチとして取り込んで、Mercurial 上でマージしています。

この方法だと svk みたいに自動化されていませんが、
構成がすっきりして全体の見通しがよく、作業がひとつひとつ理解できるので
安心感があります。

489:デフォルトの名無しさん
08/04/04 18:34:30
Subversion + Mercurial って
それいいな、俺もやってみるか

490:デフォルトの名無しさん
08/04/04 18:43:27
>>488
昔、CVS+Teamwareで俺がやってたのと同じ感じかな・・・と思ったけど逆だ・・・
俺のときは、Teamware側が共用できるやつでCVSがローカル環境・・・・
なんでそんな事したのか思い出した・・・eclipse対応してるかどうかだ・・・

MercurialならMercurialだけでIDE含めて完結できるのが一番楽なんだろうけどねぇ・・・

491:デフォルトの名無しさん
08/04/04 21:18:50
>>488
熱いレポート乙!
参考にさせてもらいます。


492:デフォルトの名無しさん
08/04/05 02:45:13
GitHubって招待制なの?
だれか invite してくれ

493:デフォルトの名無しさん
08/04/05 03:15:59
>>492
そんなのあるんだね、知らなかった
とりあえずsignupしてみたけど、いつになるやら
SourceForgeもGitサポートすればいいのになぁ

494:デフォルトの名無しさん
08/04/05 04:03:16
>>488
ちなみに hgsvn を使用しているのですか?

495:デフォルトの名無しさん
08/04/05 05:58:53
どこをどう読んだらそうなるんだ

496:デフォルトの名無しさん
08/04/05 13:56:25
>>492
なんか知らんがinviteされた(たぶん中の人?)
メアド晒してくれればinviteするよ

497:デフォルトの名無しさん
08/04/05 13:59:02
>>494
hgsvn は使っていません。
いまは Subversion でエクスポート
→ .svn 以外をそのまま新規に Mercurial 管理下に入れる(手作業)
という感じです。

Subversion に戻すときは、Subversion のリポジトリをチェックして
更新されていなかったら、そのまま Subversion でコミット。
更新されていたら、Mercurial のブランチとして取り込んでマージしてから
Subversion でコミット、です。
すべて手作業です。

498:デフォルトの名無しさん
08/04/05 13:59:32
Git と Mercurial の比較ってだれかやってません?

499:デフォルトの名無しさん
08/04/05 16:05:53
>>498
URLリンク(www.opensolaris.org)
OpenSolaris が Mercurialを選ぶときに行ったレビュー。
粒度が揃っているとは言えないがまあ参考に。(下の方にあります)

500:デフォルトの名無しさん
08/04/05 21:36:34
URLリンク(weblog.rubyonrails.com)
まー政治的にpythonは選べないだろうなw

501:デフォルトの名無しさん
08/04/05 21:38:53
>>500
でもTrac使ってるぜ。


502:デフォルトの名無しさん
08/04/05 21:55:56
railsではbtsは難しいということですか、分かりません><

503:デフォルトの名無しさん
08/04/05 22:06:23
いまならredmineとかretrospectivaとかに移行してもよさそうなものなのにね>rails


504:デフォルトの名無しさん
08/04/05 22:08:45
データの引っ越しの手間が馬鹿にならないとか?



505:デフォルトの名無しさん
08/04/05 23:05:56
>>500
Ruby界隈はMatzが使っているという理由でGit一択です

506:デフォルトの名無しさん
08/04/06 00:03:18
matzって基本的にオールドタイプだから新しめの道具は使ったことなさそうなイメージ。
cvsからsvnに切り替えるのもかなりもたついてたような。


507:デフォルトの名無しさん
08/04/06 01:04:24
>>506
svnに切り替えるときに、ローカルでの管理用としてgitを導入した。
URLリンク(www.rubyist.net)

508:デフォルトの名無しさん
08/04/06 02:29:54
StGITは、git導入したというのだろうか。

StGITローカルパッチ管理に使ってるが便利だ。
でもドキュメント少ないな
>>507 の記事とかチュートリアルの翻訳くらいしか日本語の記事が無いので
公式見てもチュートリアルの元記事しかなかった…。

509:デフォルトの名無しさん
08/04/06 03:00:10
StGITは「git使ってることを意識しなくて済むツール」なのではなかろうか。


510:デフォルトの名無しさん
08/04/06 12:06:25
当時はgitって本当にバックエンド用のplumbingコマンドしかなかったからね。
今でこそフロントエンド用のporcelainコマンドも充実してるけど。

511:デフォルトの名無しさん
08/04/06 13:15:50
>>501-504
BTS も rails 製の Lighthouse に移行するよ。

って >>500 に書いてあるじゃん。読まずに脊髄反射してんだなw

512:デフォルトの名無しさん
08/04/07 15:36:59
Rubyが好きじゃない俺はどうすればいいですか?

513:デフォルトの名無しさん
08/04/07 16:54:05
>>512
自己暗示


514:デフォルトの名無しさん
08/04/07 17:47:12
>>512
ブール代数的に言うと、好きじゃないということは、嫌いじゃないかもしれない。道は残ってるね。


515:デフォルトの名無しさん
08/04/07 21:22:00
>>512
安心しろ、Joel Spolsky も Ruby が嫌いみたいだから。
URLリンク(www.joelonsoftware.com)

っと、これだけだとスレと関係なくなってしまうので。
… Python に走って Mercurial 使えば?

516:デフォルトの名無しさん
08/04/07 21:40:52
>>512
言語の好き嫌いがある内は只の厨房だと自覚するべきだと思うよ。
自分の得意不得意のせいであんまり好きになれない言語があるのはしょうがないとおもうし、結構あるしorz


517:デフォルトの名無しさん
08/04/07 22:03:50
>>497
詳細な説明&レポートとても助かります。

TortoiseSVN で管理している svnワーキングコピーに、
なんの疑問もいだかずに TortoiseHG で真剣に管理しようとしていた俺は・・・


518:デフォルトの名無しさん
08/04/07 23:27:46
韓国語が嫌いだ

519:デフォルトの名無しさん
08/04/08 00:34:50
>>514
ブール代数的なら「好きじゃない」イコール「嫌い」だろ。
3値で「好きじゃない」なら「嫌い」か「興味ない」。

520:デフォルトの名無しさん
08/04/08 02:47:04
>>512の突っ込みどころは、Ruby好きじゃないのにrails使うのかよってところじゃないのか


521:デフォルトの名無しさん
08/04/08 09:45:07
うむ。直観主義論理だな

522:デフォルトの名無しさん
08/04/08 13:48:01
で、Railsとバージョン管理システムの関係は?(スレ原理主義的に)

523:デフォルトの名無しさん
08/04/09 10:54:11
TortoiseHg 0.4 age!
URLリンク(sourceforge.net)

524:523
08/04/09 10:55:13
0.4 RC版だった
スマソ

525:デフォルトの名無しさん
08/04/09 10:57:36
>>523
おぉ、やっと、新しい版が。
sambaの共有フォルダへのアクセスが遅くなる件、確認してみよう。

526:デフォルトの名無しさん
08/04/09 15:08:04
Mercurial 神だな。
なんだ このお手軽さは! すんばらし〜

527:デフォルトの名無しさん
08/04/09 15:13:51
マーキュリアルってuにアクセントあるのか

528:デフォルトの名無しさん
08/04/09 15:40:54
>>527
本当だ、u にアクセントがある。
URLリンク(dictionary.goo.ne.jp)

「マーキュロ」に似た感じで発音すればいいのかな。

529:デフォルトの名無しさん
08/04/09 16:03:13
メルクリアルだとばっかり

530:デフォルトの名無しさん
08/04/09 20:48:51
Mercurial って、バイナリファイルの保管は効率的でないの?
まぁ svn でも過剰な期待をしているわけではないんですが。

531:デフォルトの名無しさん
08/04/09 20:57:47
マテリアルと同じ感じでマキュリアルかな。


532:デフォルトの名無しさん
08/04/10 01:12:26
>>530
自分の経験では、
MS Access の MDB ファイル(300KB)を修正しながら
6回チェックインしてリポジトリのサイズが 200KB くらいです。

元ファイルより小さいってことは、初期バージョンを
圧縮して格納しているのでしょうか?

533:デフォルトの名無しさん
08/04/10 01:39:42
git 使ってみたけどリビジョンがないのが面倒に思えた。
実際に使ってる人は不便に感じない?

534:デフォルトの名無しさん
08/04/10 09:39:52
>>533
リビジョンの使い道ってどんな時があるでしょうか?

headやhead^,head~2しか使ったこと無いので…

535:デフォルトの名無しさん
08/04/10 11:59:15
533じゃないけど、バージョン番号に入れたとき長いと人が覚えきれないとかw

536:デフォルトの名無しさん
08/04/10 12:45:57
Mercurial を単独で使い始めてみました。
JapaneseTutorialや、有益なサイトの説明を読んでもみました。

お手軽さはぴかいちですね。
ちょこっと修正履歴を残しておきたい場合など、本当にあっという間に環境が整いますね。

まだまだ使い込みが足りませんが、分散システム故の運用の難しさを感じています。
・本流はどれだろう?
・現時点の最新はどこ?
・自分は今どの位置にいるの?
etc・・・

やっぱり中央リポジトリみたいなものは用意されるんでしょうか?
こまめにマージとかもされてるんでしょうか?
ん〜

537:デフォルトの名無しさん
08/04/10 13:06:52
>>533
> git 使ってみたけどリビジョンがないのが面倒に思えた。
> 実際に使ってる人は不便に感じない?
うはw 俺といっしょw
俺もGit使い始めの頃に同じ質問をしたら「リビジョンがあったら何が嬉しいの?」って言われたw
たぶん使ってるうちに必要ないなと思うようになると思うよ。
実際気軽にフォークできるから、あんま意味がなくなっちゃうんだよね、番号は。
プロジェクトの公開リポジトリなら自動で番号振っても良いような気もするけど、
まあタグで事足りるんだよなぁ。
どちらかというと「番号が年上かどうか」で知りたかったことは「いま見ているブランチに
どのコミットが含まれている(いない)か」のほうが重要だから、git show-branchを
俺は多用しています。

538:デフォルトの名無しさん
08/04/10 13:38:52
Subversion 使ってて、まっすぐ増えてくリビジョン番号が無いと困りそうなんだが、
要らなくなるもんなのか?

たとえばこんなの。
・バグレポートがいつの時点のものなのか?
・バグ修正がリポジトリ内のどの時点で行われたのか?
・テストを実行しているのはどの時点の実行ファイルなのか?
全部リビジョン番号で示してれば、以前に報告したバグが今回のテストで
修正確認できるかどうか、すぐにわかるんだが。

539:デフォルトの名無しさん
08/04/10 13:47:33
svn使ってるけど、その手の管理でrev番号を必要とした記憶が無い

540:デフォルトの名無しさん
08/04/10 14:06:54
rev XXXXで・・・って表現の仕方はよくするかな

541:デフォルトの名無しさん
08/04/10 14:31:09
>>538
リリースするときバージョンつけないの?

542:デフォルトの名無しさん
08/04/10 14:33:28
短い番号ってのは自分が把握するのにも人に伝えるのにもわかりやすくて便利だと思う
200804101426みたいなタイムスタンプでもいいけど
何かの暗号みたいなハッシュはちょっととっつきにくい感じ・・・

543:デフォルトの名無しさん
08/04/10 14:37:44
>>541
つけないね。開発と同じフロアにテストする人が居て、少なくとも日に一回ってペースで
実行ファイル更新するから、毎回つけるとなるとちょっと面倒。

それに、リリースにバージョンつけても、そのバージョンで特定のバグが直ってるかどうか
すぐに(リビジョン番号の大小ぐらい簡単に)判別はできないんじゃない?

544:デフォルトの名無しさん
08/04/10 14:41:39
それって、その日解決されたレポート番号一覧を出せばいいんじゃないの?
というか、テストチームに対して、dailyで実行ファイルを更新するという環境が想像できないのだが・・・

545:デフォルトの名無しさん
08/04/10 14:44:01
普通は、「この問題は、(マイルストーン名|タグ名)で解決される」って感じで、
BTSに登録するんじゃないの?

546:デフォルトの名無しさん
08/04/10 14:57:26
bugtraq:*使ってないだろ?

547:デフォルトの名無しさん
08/04/10 17:03:01
つーか、BTS使ってないんじゃね?

548:デフォルトの名無しさん
08/04/10 17:03:50
>>543
リビジョン番号を見てバグが直ってるかどうか判別できるって事のほうがすごいと思うんだが。
毎日テストチームにバイナリリリースするってことはけっこう変更がたて込んでるってことだよね。
俺はSubversionも使ってるけど、リビジョン番号聞いて「あーそれ古い」なんて言えない。
コミットされる度にインクリメントされる番号なんて憶えてられないし印象にも残らない。。。
リリースしてるならバージョンが付くはずだし、その時には変更履歴が付くからそれで分かる、
リリースしてないなら、リビジョン番号があろうと無かろうとログを見て判断するしかないと思う。

549:デフォルトの名無しさん
08/04/10 17:15:48
というか、テスターが勝手にcoなりexportなりして、修正されたバグがないかどうか
調べて、あればそれをテストする、という混沌とした現場なんじゃ。


550:デフォルトの名無しさん
08/04/10 17:17:20
テストチーム(個人?)って、そのときfixされたバグだけを確認してるわけじゃなくて、
リグレッションテストもするはずだから、頻繁にリリースされても困ると思うけど

551:デフォルトの名無しさん
08/04/10 17:28:56
いわゆる「リリース」じゃないんだよ、きっと

552:いろんな現場を体験したことのあるマ
08/04/10 17:45:27
リグレッションテストなんて ここぞ! という時以外あまりやらないな・・・
細かなバグ対処リリースでは無視無視

運用方法に依るんだけどね・・・

553:デフォルトの名無しさん
08/04/10 17:48:39
プログラマならともかく、テスターがリグレッションテストやらないのは問題だろ・・・

554:デフォルトの名無しさん
08/04/10 19:26:27
リビジョン番号の代わりにタグをうつ事をするようにしたら
修正の順番が分かるようになると思う。

今まで番号でやってきたのが変だった、ということか?

555:デフォルトの名無しさん
08/04/10 20:43:27
>>536
> ・本流はどれだろう?
Mercurial では、すべてのリポジトリが対等で本流です。
…が、どれかを本流にし、全ユーザーがそこから clone すれば
中央リポジトリ的な使い方ができます。

> ・現時点の最新はどこ?
リビジョンに「tip」と表示されるのが、そのリポジトリでの最新です。
hg tip で表示できます。
ブランチが複数あった場合には、それぞれの最新が head と呼ばれ、
hg heads で表示できます。
わからなくなったら hg glog をすると、わかりやすく(?)表示されます。

> ・自分は今どの位置にいるの?
上の hg glog のほか、hg stat -v でリビジョンが表示されます。
hg parents で、現在のワーキングディレクトリの元リビジョンが表示されます。

556:デフォルトの名無しさん
08/04/10 20:48:37
リビジョン番号は前後関係がわかるのでよい。
ハッシュは長すぎて覚えられないし。
monotoneのマニュアルには、補完できるように
シェル弄れみたいなことが書いてあったが、
そんなのめんどくせえよ、と思った。
darcsは半分ズレがあるので却下。
bzrが一番よい。-1とか分かりやすいしシンプル。


557:533
08/04/11 00:56:32
>>537
リリースサイクルが長い開発で使用するとなると公開(メイン)リポジトリでは
定期的にタグを打たないと駄目そうかな

まだ個人使用だし考えていてもしゃあないのでまず使ってみる

>>556
>ハッシュは長すぎて覚えられないし。
先頭 4 文字から絞ってくれるよ。 4 文字だと重複する可能性は少し高いだろうけど


558:デフォルトの名無しさん
08/04/11 00:57:08
URLリンク(www.moongift.jp)

Git の GUI ツールが紹介されてた

559:538
08/04/11 01:22:41
うわ。なんかダメな子みたいになってる。
何か重要な概念が欠けてるのかもしれないけど、いちおう返答してみる。

>>544
一覧を「出せばいい」じゃなくて、「出さないといけない」ってことにならない?
めんどくさくね?

リビジョン番号で示してればそれは要らないんだ。少なくともそう思ってる。
修正するときは「rXXXX で修正」で、テスト用の実行ファイルを更新するときに
「rXXXX でビルドしたもの」って伝えれば済む。未確認のバグのうち、テスト中の
リビジョン番号より小さい番号で修正を入れた問題の動作を確認してもらう。

>>548
たとえば r100 のテストで見つかった2つの問題に対してそれぞれ r105 と r108 で
修正を入れたとして、次のテストが r107 で行われた場合は前者だけ動作確認して
もらえるってことがわかる。

560:デフォルトの名無しさん
08/04/11 01:31:23
いやだから、テスターに「bugid 78,80を修正したから」って伝えれば済むんじゃねってことなんだが。
テスターがリポジトリの更新履歴でも見て、何が修正されたかいちいち調べるのか?

561:538
08/04/11 01:35:27
>>560
「rXXXX で修正」って BTS に書き込む(そのときにメールも飛ぶ)から、
いちいち別でまとめてバグ ID 伝えたり、リポジトリ見て調べたりしなくていい。

562:デフォルトの名無しさん
08/04/11 01:35:36
>>559
BTS使ってる?
使ってるなら、何使ってる?
プログラマは何人くらいいるの?
テスターは何人くらいいるの?

563:デフォルトの名無しさん
08/04/11 01:35:38
分散vcsだと結構ブランチが気軽に作れちゃう分リビジョンだと混乱しそう。
いいとこ取りのbzrはその辺どうやって解決してるの?
ユーザー間のチェンジセットとかも考慮できるようだが今のところ興味よりもマンドクセが勝る。
中央リポジトリばかりで開発するようなスタイルだとそこにリビジョンはあってよいと思う。

564:デフォルトの名無しさん
08/04/11 01:37:19
>>561
だったら、BTSのステータスが「修正済み(未確認)」のものをテストすればいいわけで、
リビジョン番号はおろか、タグも必要ないよね?

565:デフォルトの名無しさん
08/04/11 01:41:15
>>559
そこまで理解してくれるテスターがいる事に嫉妬。
こっちはマにリビジョンxxxで〜って言って、
「リビジョンって分からないんですけど?」って後で質問が来る世界だ・・・orz

566:デフォルトの名無しさん
08/04/11 01:43:52
まさかとは思うが、ひょっとして、ビルド済みバイナリをテストチームに渡したりしてないよな?

567:デフォルトの名無しさん
08/04/11 01:49:16
つーか、根本的に破たんしてる気がする。
ひょっとすると、プログラマ一人、テスター一人で、デバッグレベルのテストをやってもらってるのだろうか。
それなら頻繁なテスト依頼が行われるというのも理解できる。

568:538
08/04/11 01:57:20
>>564
>559 の最後の例では、 r108 で修正したバグのステータスは「修正済み」になるけど、
r107 をテストしてるときにそいつの動作確認はまだできないと区別できる。

569:デフォルトの名無しさん
08/04/11 01:57:57
よそで自分の意に沿わない運用がなされたとしても、それがなんだと言うんだろう?
そこではリビジョンさえあればうまくいってると言ってるんだから、外野がごちゃごちゃ
言う必要無いよ。
何がしたいの?やりこめたいの?

570:538
08/04/11 02:02:36
悪いけどテスト環境について議論するつもりはないから、リビジョン番号の有用性に
関すること意外はスルーさせてもらうよ。

「リビジョン番号の無いバージョン管理システムでも、こういうテスト体制なら問題ない」
と紹介してくれるんなら歓迎。

571:デフォルトの名無しさん
08/04/11 02:04:07
何で上から目線なんだ

572:デフォルトの名無しさん
08/04/11 02:05:05
>>570
だーかーらー、解決されたbugid一覧をテスターに渡せばいいじゃんか。
やりたくないの?

573:538
08/04/11 02:07:48
>>572 もちろん。めんどくさいじゃないか。リビジョン番号さえあれば済むんだから。

574:デフォルトの名無しさん
08/04/11 02:08:13
じゃぁ、svnに戻せよ。
アホか

575:デフォルトの名無しさん
08/04/11 02:09:08
BTSに、修正リビジョンを書くことが、なんで破綻してるとかって話になるんだ?
いつ何を修正したか記録するのは当然だと思うんだが…。

576:デフォルトの名無しさん
08/04/11 02:12:11
>>575
いや、破綻してると思ったのは、開発プロセス全体がってことで、BTSに修正した
リビジョンを書くのは問題ない。
プロセスに関しては議論したくないみたいだから、俺は消える。

577:538
08/04/11 02:13:21
>>572
もしかして、リビジョン番号の無いバージョン管理システムでは
リポジトリ内のある時点からある時点までの間に「解決されたbugid一覧」を
作るための機能がついてるの?

そうじゃなけりゃ >572 の言い方は、リビジョン番号がなくなると(538的な意味で)
不便になる点があるってのを言ってくれてることになる。

578:デフォルトの名無しさん
08/04/11 02:14:37
575書いたあとに570とか読んでちょっと馬鹿馬鹿しくなった(´・ω・`)

>>570
リビジョンのないVCSなら素直にタグ打てば済む話だと思う。
分散VCSの性質上、連続したリビジョンが付けられないのは当然だろう。

579:デフォルトの名無しさん
08/04/11 02:18:01
>>577
だーかーらー、タグ使うか、おまえが一覧作れって。
タグ打つのもいやで、svnでうまく回ってるなら、svnでいいだろうが。
お前は一体何がしたいんだ。

580:538
08/04/11 02:18:50
仮に今回挙げたテスト体制をリビジョン番号の無いシステムに移すとすれば、
テストするバージョンにタグをちゃんと打つこと、タグ間で修正されたバグの一覧は
別で作成すること、が必要になるってことだね。

ひととおり納得したよ。ありがとう。

570 の書き込みは、正直スマンカッタよ。

581:デフォルトの名無しさん
08/04/11 02:21:11
なぁ、各VCSのcook book的なものを一通り読んでから議論しても遅くなかったぞ。

582:デフォルトの名無しさん
08/04/11 07:58:28
これはひどい

583:デフォルトの名無しさん
08/04/11 08:16:08
ゆとりに構ってスレの無駄使いは止めましょう

584:デフォルトの名無しさん
08/04/11 08:51:11
コミットログちゃんと書けば済む話ジャネーノと思った

585:デフォルトの名無しさん
08/04/11 13:51:41
>>557で>まだ個人使用だし考えていてもしゃあないのでまず使ってみる
って書いてるしそれでいいんじゃないかと思うけどね。うまく説明できないのは少し残念だが。
俺も最初番号が無いのに戸惑ったけど、使ってるうちにリビジョン番号は必要ないなって
思うようになった。

586:デフォルトの名無しさん
08/04/11 19:02:31
538には必要なんだよ

587:デフォルトの名無しさん
08/04/12 02:02:48
Subversionのリビジョン番号は、その時点のリポジトリ全体の状態を決定するけど、
gitやMercurialのハッシュ値はそのチェンジセットを表してるだけなんだな。
この辺の考え方の違いに気づくまでわかりづらかった。

588:デフォルトの名無しさん
08/04/12 10:59:32
全体で一貫したリビジョン番号である svn は、リリース時のバージョンut与する時に便利だったんだよね
V1.0.2553 とか 3番目をリビジョン番号使ってたんだけど、
Mercurial を使ったとしても、各リポジトリでリビジョン番号は合ってないから無理だな・・・
ハッシュ値は付けられんし・・・、ちょっと考えないといけないな。


589:デフォルトの名無しさん
08/04/12 13:06:40
>>588
つ[日付]

590:デフォルトの名無しさん
08/04/12 13:18:20
適材適所で Subversion 使えばいいじゃん。
ただしリビジョン番号に依存した運用は、
dump → restore したときに番号が変わると破綻する。

591:デフォルトの名無しさん
08/04/12 15:22:59
ほんとタグ付けのが嫌いなやつが多いな。
それとも、そんなに頻繁にリリースるのが流行ってるのか?
一週間に一回なら、手動でリリースタグ打ってもたいしたことないだろ。
デイリーなら日付入りな。
それ以上頻繁なリリースなら・・・知るか。

592:デフォルトの名無しさん
08/04/12 18:09:10
自分はリリースごとにタグ打ってるけど、
それぞれ好きでいいんじゃないだろうか。

593:デフォルトの名無しさん
08/04/14 14:09:29
いや、多分集中レポジトリ使ってると
タグうつ権限とかも運用上集中管理してて大変だというイメージがあるんじゃなかろうか?

やっぱ、運用がごろっと変わると大変なんだろうけど
その辺りの共通認識がここで話をしてる人の間でないから話が食い違うんだろう。

594:デフォルトの名無しさん
08/04/16 23:00:10
いままで CVS をひたすら使ってて、Subversion に移行しつつあったけど、
Mercurial というのを知って、こちらに本格的に移行することにしました。
あとは、Xcode が Mercurial に対応してくれたらなぁ。

595:デフォルトの名無しさん
08/04/18 02:07:37
>>470
kwsk!!

メインがsvnでも、自分のとこ?(というかクライアントマシン?)だけ
分散型でいけるの?
参考になるページとかないですかね

>>591
それこそ、svnならタグ付ってメッチャ早かったとおもうけどn・・・

596:デフォルトの名無しさん
08/04/18 09:57:54
>>595
詳しくないけど答えてみる。

svnリポジトリからcoした作業コピーを、ローカルでgitみたいな別のツールで管理する
ことはできるんじゃないか?

svn co ほげ
git init
git add .
git commit -a

編集

以下、リモートとやりとりするときはsvn、ローカルではgitと、使い分ければいいような。

以上、妄想でした。

597:デフォルトの名無しさん
08/04/18 14:34:10
>>595-596
git-svn を使うって話じゃないの?

598:470
08/04/18 15:59:09
>>595
>>597の言うようにgit-svnでやってますえ。
中央のSubversionリポジトリとローカルのGitリポジトリをマージしながら
使うようなイメージ。
けれど中央をsvnしてるぶん、つねにsvnにくっついていかないといけないのが
ちょい面倒に感じるけど、まあ仕方ないかな。

>>596
そんなやり方でも出来そう!って思ったけど、svn upした時に上書きされて泣いたりとか
しそうだな。。。git-svnならsvn upの代わりにrebaseを使うので、いい感じです。

599:デフォルトの名無しさん
08/04/18 16:42:47
hgsvnにバグがある

aというディレクトリがあって、その中にfoo.txtっていうファイルがある。
aをbという名前でコピーしてコミット。
b/foo.txtをsvn rmで削除して、a/foo.txtをbの下にコピーしてコミット。

こうやって作ったsubversionのリポジトリからhgimportsvnとhgpullsvnを使うと
a/foo.txtが削除された状態(hg stで?が付く)になってしまう

600:デフォルトの名無しさん
08/04/18 17:20:50
ちなみに、開発者にはメールで報告済みだが、連絡・修正はない

601:デフォルトの名無しさん
08/04/20 14:40:35
Mercurial のマージの概念がよくわかりません

同じリポジトリ内の複数リビジョンの間でしかマージできない?
それとも、過去に hg clone して派生したリポジトリ間でしかマージできない?

同一リポジトリ内の tip リビジョンのファイルとコミット前のファイルのマージはできないのでしょうか?
そのとき、ファイル名は指定できませんか?

ファイル構成がほとんど同じだが過去に hg clone では派生していない 2 つのリポジトリ間ではマージできないのでしょうか?
例えば、ディレクトリコピーなどで複製され、それぞれのディレクトリで 1 回目の hg commit を実行した場合など

602:デフォルトの名無しさん
08/04/22 17:17:40
>>601
>>601
Mercurial では無関係なリポジトリ同士でマージができる。
ちょいと長いけど、以下、やってみたのを貼ってみる。

たとえば2つのリポジトリ、repo1 と repo2 を作成する。
(TortoiseHG 付属の hg で実行)

> mkdir repo1
> hg init repo1
> mkdir repo2
> hg init repo2

repo1 には A.txt を作成する。
> cd repo1
repo1> echo A >A.txt
repo1> hg add A.txt
repo1> hg commit

repo2 には B.txt を作成する。
repo1> cd ..\repo2
repo2> echo B >B.txt
repo2> hg add B.txt
repo2> hg commit

続く。


603:デフォルトの名無しさん
08/04/22 17:18:03
続き。

repo2 に repo1 の内容をマージする。
hg pull に -f オプションを付けるのがミソ。付けないとエラーになる。
repo2> hg pull -f ..\repo1
pulling from ..\repo1
searching for changes
warning: repository is unrelated
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

結果的に、repo2 内に2つの head(ローカルブランチ)ができる。
repo2> hg heads
changeset: 1:74581af5a0ee
tag: tip
parent: -1:000000000000
user: hoge
date: Tue Apr 22 16:43:54 2008 +0900
summary: Initial.

changeset: 0:f58274ede46b
user: hoge
date: Tue Apr 22 16:44:23 2008 +0900
summary: Initial.

続く。


604:デフォルトの名無しさん
08/04/22 17:18:16
続き。

ブランチをマージする。
repo2> hg merge tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
repo2>hg commit
repo2>hg update
(同名ファイルがあった場合には、内容を編集しなければいけない。
いわゆるマージ・コンフリクト)

するとローカルに A.txt と B.txt ができるので、無事に2つのリポジトリが合成されたのがわかる。
Mercurial のリポジトリは対称なので、repo1 では repo2 から pull すればいい。
ただし、repo2 には「repo1 と合成した」という記録が残っているので、-f は必要ない。
repo1> hg pull ..\repo2
でいける。


605:デフォルトの名無しさん
08/04/23 23:32:12
>>602

サンプル付きでありがとー
今度試してみます

じゃあ、ファイル中の一部分を差分比較対象から除くことはできますか?
例えば、RCS/CVS/Subversion のキーワード置換 ($Revision とか) みたいな
内容が異なる可能性があるけど、差分としては検出して欲しくない部分

606:605
08/04/23 23:33:30
そういえば、Subversion でもキーワード置換以外に
ファイル内の一部分を差分比較対象から除く方法を知らない…

607:デフォルトの名無しさん
08/04/24 13:09:57
>>605
KeywordExtension というのがあります。
「どのファイルの」「どんなキーワードを」「何にする」というのを指定できます。
URLリンク(www.selenic.com)

リポジトリ中のファイルにはキーワードが未展開で($Id$ とか)格納され、
ワーキングディレクトリに取り出すと展開型($Id: hoge.txt 2008/04/24 moge$ とか)に
なります。

608:デフォルトの名無しさん
08/04/24 16:56:48
>>605
実際にやってみたので、ちょっと長いけど貼ってみる。

まず、リポジトリ repo1 を作成する。
>hg init repo1
>cd repo1

ここで以下の内容で repo1\.hg\hgrc というファイルを作成する。
*.txt でキーワード展開せよ、という指示をしている。

[extensions]
hgext.keyword=

[keyword]
*.txt=

[keywordmaps]

キーワードは最後の [keywordmaps] の後に書き込む。
$Id$ は書かなくてもキーワード登録されているので、
今回はそれを使用する。

続く。


609:デフォルトの名無しさん
08/04/24 16:59:23
続き。

test.txt というファイルを作成し、リポジトリに追加する。
>echo $Id$ >test.txt
>echo テスト。 >>test.txt
>hg add test.txt
>hg commit -m "Add test.txt."

この時点ですでに $Id$ がキーワード展開されている。
>type test.txt
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。

次に test.txt に変化を与える。
>echo 追加。 >>test.txt
>type test.txt
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。
追加。

続く。


610:デフォルトの名無しさん
08/04/24 17:00:06
続き。

変更は Mercurial に認識されるが、キーワードは変更から無視されている。
>hg stat
M test.txt

>hg diff test.txt
diff -r c5c7047c9e51 test.txt
--- a/test.txt Thu Apr 24 16:38:09 2008 +0900
+++ b/test.txt Thu Apr 24 16:38:35 2008 +0900
@@ -1,2 +1,3 @@
$Id: test.txt,v c5c7047c9e51 2008/04/24 07:38:09 maru $
テスト。
+追加。

コミットすると $Id$ の内容が更新される。
>hg commit -m "Add a line to test.txt."
>type test.txt
$Id: test.txt,v 1ebd174ad8f0 2008/04/24 07:38:35 maru $
テスト。
追加。

続く。


611:デフォルトの名無しさん
08/04/24 17:00:49
続き。

前のリビジョンとの差分を取ってみる。やはりキーワードは無視されている。
>hg diff -r 0:1 test.txt
diff -r c5c7047c9e51 -r 1ebd174ad8f0 test.txt
--- a/test.txt Thu Apr 24 16:38:09 2008 +0900
+++ b/test.txt Thu Apr 24 16:38:35 2008 +0900
@@ -1,2 +1,3 @@
$Id$
テスト。
+追加。

長々とスレ汚しスマソ。



612:デフォルトの名無しさん
08/04/24 21:34:24
駄目なレポートの典型だな。
まず結論を書け

613:608
08/04/25 02:32:56
>>612
すいません。
結論は >>607 に書いたつもりでした。

614:デフォルトの名無しさん
08/04/29 08:17:14
>>612
だめな講評の典型的な例だな
まず本文を読め

615:デフォルトの名無しさん
08/04/29 08:56:10
そういうのいいから

616:デフォルトの名無しさん
08/05/12 03:25:59
MercurialHgでpushするときの方法を書き留めておくテスト
*** http authorization required
URLリンク(user:password@mydomain.org)


617:デフォルトの名無しさん
08/05/16 00:09:53
Mercurial使いたい……
けどHaskellerだからdarcsなんだ。

618:デフォルトの名無しさん
08/05/16 00:46:11
言語に括っても良い事無いよ

619:デフォルトの名無しさん
08/05/16 01:19:09
tracとhg使ってる理由

620:デフォルトの名無しさん
08/05/16 18:55:09
>>617
HaskellerがdarcsではなくMercurialを使いたい理由を詳しく

621:デフォルトの名無しさん
08/05/16 19:31:30
Windows版のdarcsで、
darcs unrevertを実行すると、

darcs failed: Couldn't parse unrevert patch:
Patch bundle failed hash!
This probably means that the patch has been corrupted by a mailer.
The most likely culprit is CRLF newlines.

こうなってしまうんですがどうすればいいんでしょうか?

622:デフォルトの名無しさん
08/05/18 05:28:07
darcsに興味をもっていろいろ読んでみたけど,darcsでは1つのリポジトリに複数のブランチを作れないんだね。
ブランチを作りたかったら,新たにリポジトリを作りなさいとある。
1リポジトリ,1ブランチということらしい。
URLリンク(wiki.darcs.net)

マージ機能が強力そうだからそれで問題ないのかもしれないが,
管理が面倒そうだな。

623:デフォルトの名無しさん
08/05/22 13:32:51
Mercurialのような分散リポジトリでは、作業ディレクトリ
自体が既にリポジトリなわけで、そうするとそれはどんどん
肥大化してしまうのでしょうか?めちゃくちゃ過去の変更
に関してはどっかのリポジトリにあってくれれば良いので、
自分の手元には最近のリビジョンに関する情報だけ
あってくれれば十分なんですが・・

624:デフォルトの名無しさん
08/05/22 13:34:22
バカはうだうだ言うよりまず使ってみた方が良いよ
バカな質問してるのが良く分かるから

625:デフォルトの名無しさん
08/05/22 21:41:19
>>624の方が馬鹿っぽい

626:デフォルトの名無しさん
08/05/22 23:43:59
バカバカ言い合う事に何の意味があろうか。

627:デフォルトの名無しさん
08/05/23 00:24:38
>>623
HGはよく分からないけど、GitだとたまにGCして圧縮したり、
同じファイルシステムにある同じようなリポジトリ(クローン元とか)は
ハードリンク使ったりとかしてるね。
分散リポジトリという仕組み自体、裕福なリソースが無いと実現出来なかったものだと
俺は思ってるんで、あまり気にしなくて良いような気もするけど。
KDEまるごとクローンしたりするとかなり大変らしいが。

628:デフォルトの名無しさん
08/05/23 09:30:52
mercurial-1.0.1.tar.gz

629:デフォルトの名無しさん
08/05/27 19:56:16
WinXPでtortoiseSVN使い始めたですが、
svn+sshなのでコミットするたびにパスワードを入力するのが面倒です。
かといって、SSHクライアント指定してplinkにユーザ、パスワードをベタ書きしたくないので
Roboformみたいに一度マスターパスワードを入力すれば、リポジトリURLをキーとして
ログインパスワードを入力してくれるツールがあるといいなと
思ったのですが、tortoiseSVNで使えそうなツールないですか?

630:デフォルトの名無しさん
08/05/27 20:14:40
>>629
ssh-agent

631:デフォルトの名無しさん
08/05/27 20:16:46
putty では pageant.exe だった

632:デフォルトの名無しさん
08/05/27 22:44:03
win上でhg使ってたら、リポジトリが壊れてがっかりした。
ファイル名の大文字小文字の問題なんだけど

633:デフォルトの名無しさん
08/05/27 23:03:27
>>632
げげっ そうなんだ・・・
お手軽なので重宝してたんだけど、やっぱりもう少し待った方がいいのか?

634:デフォルトの名無しさん
08/05/27 23:07:19
それは、ファイルシステムの問題だろ。
大文字小文字を区別しないと同一名になるファイルを管理してる奴は、
Windows上で使っちゃ駄目。

635:デフォルトの名無しさん
08/05/27 23:23:18
FSの問題ではあるけど、壊れる操作を行えてしまうのはどーかな

636:デフォルトの名無しさん
08/05/27 23:41:45
大文字小文字を区別する環境に依存した物を
大文字小文字を区別しない環境に持っていく奴の脳みそが
どーかなだよまったく

637:デフォルトの名無しさん
08/05/28 00:00:06
すでに、Abcd.cが管理下にあるのに、
うっかり、hg add abcd.cしてコミットしたら、
たぶんおしまい。今手元にwindowsがないので、確認できないけど。

638:デフォルトの名無しさん
08/05/28 00:50:29
>>636
hgって大文字小文字を区別する環境に依存してるの?
pythonで書かれてるとか聞いたんで、環境依存は凄く小さいかと思ってた。


639:デフォルトの名無しさん
08/05/28 01:16:41
pythonがcase sensitiveだから。
というかcase insensitiveな言語は、ほとんど見ないが。
そういう意味では、Windows はかなり特殊な環境だというのを自覚しないといけないな。
NTFSがcase sensitiveなのに、Windows OSが insensitiveなのは最悪。

640:デフォルトの名無しさん
08/05/28 01:25:45
>>590
svndumpでバックアップ取ってんだけど、
バックアップから戻したらリビジョン番号変わっちゃうの??

641:デフォルトの名無しさん
08/05/28 01:26:41
↓これTortoiseSVNのマニュアルなんだけど、文字化けして見えるのはウチだけ?
URLリンク(nchc.dl.sourceforge.net)

642:デフォルトの名無しさん
08/05/28 01:31:27
ちょっと前にあった、リビジョン番号の議論の結論は、
「やっぱりリビジョン番号便利」と言うことか。

まあ当たり前だよな。
自動で全順序性が保証された識別名が得られるのが便利でないはずがない。

643:デフォルトの名無しさん
08/05/28 01:33:06
>>641
化けてるな。

644:デフォルトの名無しさん
08/05/28 01:33:50
>>639
今は亡きキルドールに文句言って下さい。
Windowsの変な仕様のかなりの部分はCP/Mから来てます。

645:デフォルトの名無しさん
08/05/28 01:46:13
                |
                |
                |
                |
     /V\        ,J>>642
    /◎;;;,;,,,,ヽ
 _ ム::::(;;゚Д゚)::| ジー
ヽツ.(ノ::::::::::.:::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'

646:デフォルトの名無しさん
08/05/28 01:55:31
>>644
何時まで過去に縛られてるんだよってな話だ。
OS/2みたいに、FSをcase insensitiveにする選択肢もあったハズだし。

647:デフォルトの名無しさん
08/05/28 02:06:58
過去の資産との互換性を最優先に、それこそ必死になって守ったからこそ
今のシェアがあるんだから

648:デフォルトの名無しさん
08/05/28 02:07:58
俺はファイルシステムはcase insensitiveの方がいいと思っている。

649:デフォルトの名無しさん
08/05/28 03:23:06
>>646
emx 使ってたときに区別したような記憶があるけど気のせい???

650:デフォルトの名無しさん
08/05/28 05:49:33
CR/LF も地味に面倒くさい

651:デフォルトの名無しさん
08/05/28 12:35:08
>>648
俺には西洋人の感覚は分からんが、CaseInsensitiveってことは、

おはよう
オハヨウ
おはヨう
オハよう
を同一に扱うってことにあたるんじゃないか?
おはよう、オハヨウはいいとして、他のはどうよ、と思う。

名前ってのは、分かりやすさの為に付けてるんだからそれはないと思う。
ただ、検索インターフェース的にInsensitiveに探すのは付いていてもいいと思う。
名前の格納自体はSensitiveが良いんじゃない?

んでもって、>>638
確かに環境依存は少ないよ。
だけど、この場合、hgはどう扱えば良いと思う?こういう環境にはチェックアウトさせない?
つまりWindowsをサポート対象外にする?Pythonでもどうしようもないと思うな。
全てのファイルを別ディレクトリに分けるとか言う格納ポリシーでないと上手く行かない。

652:648
08/05/28 12:56:33
>>651
俺がいいと思っているのは、今のWindowsの仕様そのもの。
格納自体はSensitiveだが、インターフェース的にInsensitiveな状態。
ABCとabcを同じディレクトリに作れないように規制するということ。

ABCとabcが同じとこにあったら分かり難いので、そういうファイルは
作らないでくださいと運用ルールで規制するよりも、最初から作れない
方がいい。

653:デフォルトの名無しさん
08/05/28 16:18:23
>>630-631
できました!感謝。
pageantの存在は知ってたけど何に使うのか見ただけではさっぱりでした。

手順は↓を参考にしました。
URLリンク(www.naney.org)

そして ~/.ssh/authorized_keysというディレクトリにpubkeyを書いたファイルを置くものと勘違いしてハマってました・・・

654:デフォルトの名無しさん
08/05/28 23:02:57
>>641
それ、どこでビルドしたんだろう?
何とかがんばってビルドしてみるかな……

655:デフォルトの名無しさん
08/05/28 23:45:10
>>654
PDF作った人はちゃんと読めてたんだろうから謎だよね…

656:654
08/05/28 23:50:19
すまん勘違いした。TSVNプロジェクトのところのやつね。
何が原因かはわからないけど化けてしまう。
手元でビルドすると化けないって感じ。
ビルドできたらアップしてみる。

657:デフォルトの名無しさん
08/05/28 23:59:29
しおりの文字は文字化けしてないね。

658:デフォルトの名無しさん
08/05/29 00:04:16
>>651
させない、が正解じゃないか。
Windowsでチェックアウトすることがあるなら、同じディレクトリにそういうファイル名を混ぜないようにすればいい。

659:654
08/05/29 00:29:35
>>657
たしか、本文はフォント埋め込みなんだけど、しおりはそうじゃなかったような気がする。
本家のビルドマシンは当然日本語Windowsじゃないんで、
ms932への変換とかそのあたりで不整合があるのかも。
他にもchmのしおりが化けてたりする。

とりあえず、手元でビルドできたみたいなんで、
URLリンク(www.caldron.jp)
のversion1.4.xのところから持って行ってください。

660:デフォルトの名無しさん
08/05/29 00:30:50
>>658
運用で制限するのは利用者の自由。
ただtoolで制限させる必要は無いし、制限しない以上問題は起こり得る。
8.3のショートネームの環境でも問題出ないように、名前を先頭8文字が同一
のものは認めないなんてバカげてる。

661:デフォルトの名無しさん
08/05/29 00:39:53
いやいや問題のでる環境でやろうとしたときに、ってこと

662:デフォルトの名無しさん
08/05/29 07:59:46
そのOSに対応を謳ってる以上、リポジトリ壊すってのはやはりバグだろう。
その前にエラーで止まってくれれば運用でいくらでも対策できるわけで

663:デフォルトの名無しさん
08/05/29 08:04:36
>>659
ちゃんと読めるようになってます。お世話になります。

664:デフォルトの名無しさん
08/05/29 18:16:59
>>639
この場合言語そのものがcase sensitiveかは全然関係ないだろ

665:デフォルトの名無しさん
08/05/29 18:50:36
hg で複数の(連続した)チェンジセットを
1つのチェンジセットにまとめて伝播させる事ってできないかな?

要はいろいろ試行錯誤した残骸をみせずに
最終的な結果だけ伝播させたいんだけど・・・


666:デフォルトの名無しさん
08/05/29 23:29:53
>>665
URLリンク(www.selenic.com)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5072日前に更新/206 KB
担当:undef