バージョン管理システ ..
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)
667:デフォルトの名無しさん
08/05/30 19:37:55
>>28
いや、Haskellのメモリ効率が悪いのは事実だが、
それよりも遅延評価をうまく使っていないdarcsの実装の方が悪い。
俺ならメモリを節約できるアルゴリズムが書ける。
668:デフォルトの名無しさん
08/05/30 20:17:32
>>667
じゃあいっちょ、よろしく頼む。hgに勝てるように!
669:デフォルトの名無しさん
08/05/31 01:04:21
>>659
ありがとう〜
PDF中でテキスト検索できなのが残念だけど使わせていただきます ^^
670:デフォルトの名無しさん
08/05/31 06:37:23
>>634
それはそうだけど、
svn(TortoiseSVN)はちゃんと解決してるよね?
Windowsおいてきぼりはちょっといただけないなあ
>>639
hgの実装言語の言語仕様とファイルシステムの関連性がわからない・・・
671:デフォルトの名無しさん
08/05/31 07:15:04
大文字と小文字を区別するメリットがわからんな
672:デフォルトの名無しさん
08/05/31 10:55:12
>>671
;と:を区別するのにAとaを区別しない方がおかしいと思わないか
673:デフォルトの名無しさん
08/05/31 10:58:20
>>670
SVN でも多少あるみたいよ。「SVN 大文字小文字」でググれば分かる。
674:デフォルトの名無しさん
08/05/31 11:14:04
>>670
Windowsのせいでみんなが迷惑してるんだからWindows村八分したいところだぜ
675:デフォルトの名無しさん
08/05/31 11:20:21
反抗期のガキが作ったシステムが変更できずに今までズルズルときてる訳だからな・・・
676:デフォルトの名無しさん
08/05/31 12:13:20
反抗期のガキのような物言いはよして、前向きに話そうよ。
具体的に CaseInsensitive じゃないと困る場合ってなんでしょう?
単一の単語のCaseをわざわざ区別したがるメジャーなケースって makefile 問題くらいしか知らないです。
とすると、651の例えは微妙に適切じゃなくて、むしろ単語境界をケチるために CamelCase 濫用して区別できなくなるような
ケースくらいじゃないのかな。
・もはやPCユーザ=プログラマとはいえない
・PCで扱う範囲は増えているので、データファイルの名前に日常言語使いたいと思うのは当然
MBCS, UTF だけじゃなくて CP 違いの依存文字も含め。
CamelCase 濫用して検索難しくしちゃうなんてファイルシステムや VCS 抜きでももう起こってしまう問題なので、
Sensitive じゃないと駄目!って制約自体が、過去のシステムを変更できずにズルズルきてるだけの気がする。
てことで、652 の主張に同意。
677:デフォルトの名無しさん
08/05/31 12:20:48
っつーか、ここプログラム板だろ?
当該部分がどうか知らんけど、ほとんど Python スクリプトなんだから
簡単に直せるんじゃね?
678:デフォルトの名無しさん
08/05/31 12:30:58
>>652のような仕様はシステム的に実装するんじゃなくて、もっとハイレベルで実装すべき。
たとえばファイルマネージャレベルで実装すべき。
679:デフォルトの名無しさん
08/05/31 13:15:35
Macのファイルシステムも昔のは
たしか大文字と小文字の区別に関する問題無かったっけ?
680:デフォルトの名無しさん
08/05/31 13:45:37
>>678
それって最悪の仕様だと思うが。
ローレベルな機能使って制限を無視して作られたファイルには
ファイルマネージャ経由ではアクセスできなくなったりするぞ。
アクセス不可能なファイルの作成を許容しているシステムって
トラブルの元にしかならんと思うが。
681:デフォルトの名無しさん
08/05/31 13:51:19
エクスプローラーがドットで始まるファイル名を作らせてくれなくて困る。
既にあるドットで始まるファイルも名前変更でF2を押したらもう戻れない。最悪。
682:デフォルトの名無しさん
08/05/31 13:52:52
>>679
いまもデフォルトは区別なし
区別ありにもできるけど、Civilization IVが区別なしを期待してる
コーディングだった(全部大文字でファイルパスが埋めてあった)ので
再フォーマットしたぜorz
683:デフォルトの名無しさん
08/05/31 13:54:04
>>680
> ファイルマネージャ経由ではアクセスできなくなったりするぞ。
そんなファイルマネージャがあるんですか?
684:デフォルトの名無しさん
08/05/31 14:08:56
>>681
まー、ドットで始まるファイルは名前を付けて保存で ".emacs" みたく " で
括る必要があるのはメンドイよね。
685:デフォルトの名無しさん
08/05/31 14:47:23
>>680
そのファイルマネージャの仕様的な問題だと思いますが。
686:デフォルトの名無しさん
08/05/31 15:25:57
>>681,684
エクスプローラーからしてみたら、なんで他のOSの仕様に
配慮しなきゃいけないんだよってとこだろうw
687:デフォルトの名無しさん
08/05/31 15:34:53
>>686
ほかのOSの仕様だからじゃなくて、美しくない仕様のOSなのが問題なんだよ。
一貫性の欠如。Windowsは所詮は反抗期のガキが作ったOS。
688:デフォルトの名無しさん
08/05/31 15:40:16
>>686
そもそも、エクスプローラーのそういう挙動の根幹には拡張子を特別扱いするというWindows古来からの伝統を継いでいるだけだろ?
689:デフォルトの名無しさん
08/05/31 15:42:54
はっきり言わせてもらうと、Windowsの方がおかしいんだよ。
自分オリジナルということを主張したいがために"わざと"Unixとは違う、くだらない仕様で売り出したんだからな。
Windowsを作った豚野郎はとっとと糞の中で溺れて死ねばいい
690:デフォルトの名無しさん
08/05/31 15:44:49
そしてくだらないマーケティングと小奇麗なパッケージで素人をだまして糞を蔓延させた罪は万死に値する
691:デフォルトの名無しさん
08/05/31 15:48:17
おまいら、 NTFS の話と エクスプローラの挙動の話を
ごっちゃにして「Windowsは〜」って言ってない?
692:デフォルトの名無しさん
08/05/31 19:55:35
>>688
もしかしてパス区切りがバックスラッシュなのもそういう理由だったりするの?
693:692
08/05/31 19:56:20
まちがった。>>689宛。
694:デフォルトの名無しさん
08/05/31 22:04:07
>>692
DOSのときにunixが/だから\にしたという説を聞いたことがあるぞよ
695:デフォルトの名無しさん
08/05/31 22:40:41
>>692
DOSのパス区切りが\なのは、CP/Mとの互換のため。
CP/Mはスイッチキャラクタが/だったので、パス区切り
として/が使えなかった。
DOS 3.1位まではスイッチキャラクタの変更が可能で、
パス区切り文字を/に変更できた。
696:デフォルトの名無しさん
08/05/31 23:09:33
>>695
CP/Mに階層ディレクトリなんてあったか?
パスが無いんだから、区切り文字も無い。
697:デフォルトの名無しさん
08/05/31 23:12:37
誰か言うと思って放っておいたけど、誰も言わないので俺が言う。
さすがにもうスレ違いだろ。
698:デフォルトの名無しさん
08/06/01 00:02:19
696の読解力の低さにワラタ
699:デフォルトの名無しさん
08/06/01 00:47:15
×CP/Mのスイッチキャラクタが/
○Microsoftコマンドのスイッチキャラクタが/
700:デフォルトの名無しさん
08/06/01 01:54:22
699が何を言いたいのか全然わからない。
>>695には
・DOSがCP/M互換にスイッチキャラクタを設定した(1.x)
・DOSにディレクトリの概念が取り入れられたとき(2.x)、既に/は用途が決まっていた
と書いてあるように見えるが、
それだと>>699のような訂正は不要、というか理解できないとしたら頭悪すぎ。
701:デフォルトの名無しさん
08/06/01 02:22:42
>>697が言いたいことが全然分からない(ヤツが多い)
702:デフォルトの名無しさん
08/06/01 10:38:01
CP/Mではslashは特別な意味を持たない。
MicrosoftのCP/M用basic等のswitch charactorがslashなのは、VMSの影響。
CP/MとMS-DOSではコマンド体系が全く異なる。これもVMSの影響を強く受けたからで
互換性は考慮されてない。
703:デフォルトの名無しさん
08/06/03 23:56:18
このスレでのWindowsの扱いが、このスレのmac並みでワロタ
開発者が使うノートPCてなに? 2台目
スレリンク(prog板)
704:デフォルトの名無しさん
08/06/04 07:09:20
CP/Mでバージョン管理してる奴は他行け
705:デフォルトの名無しさん
08/06/04 11:36:47
最近、Pythonのpsycoって、知ったんですが
Mercurialでこいつを使うようにはできないですかね?
別に速度にさして不満があるわけでもないんですが・・・
706:デフォルトの名無しさん
08/06/04 18:09:43
>>705
適当なモジュールの先頭に
import psyco; psyco.full()
どれだけ早くなるかは知らん
707:デフォルトの名無しさん
08/06/04 18:17:49
commands.py の頭に突っ込んだら、遅くなっちゃって・・・
やっぱ、psycoの初期化のコストの方が大きいのかなぁ、と。・・・
708:デフォルトの名無しさん
08/06/06 01:34:58
Windowsの大文字小文字といえば…
今FreeBSDのソースをWindowsで見たくてチェックアウトしたら、
CONって名前のファイルがあってエラーで止まってしまう
困ったもんだ
709:デフォルトの名無しさん
08/06/06 11:21:56
時期尚早感はありますが、Mercurial いじり始めました。
これってバイナリファイルの管理はどうなんでしょう?
できるんでしょうか?
710:デフォルトの名無しさん
08/06/06 13:45:20
いや,尚早じゃないし.
すでに乗り遅れてる.
時代は今・・・・
711:デフォルトの名無しさん
08/06/06 15:01:53
成熟しないまま時代遅れ!?
専用スレも立たないみたいだし、気にかけなくていいかな?
712:デフォルトの名無しさん
08/06/06 15:05:34
デレツン乙
713:デフォルトの名無しさん
08/06/06 15:23:09
釣られてみよう
>>711
そうじゃなくて、>>710 は
Mercurialは尚早じゃなくて旬を迎えていますよ、
尚早と思っているあなたは時代に乗り遅れてますよ、すぐにでも試してみては?
という事を言っているんじゃ。
ごく最近のニュースも見ていない?
URLリンク(journal.mycom.co.jp)
714:デフォルトの名無しさん
08/06/06 15:39:39
>>709
バイナリファイルもOKです。
効率に関しては、確かgitとかの比較があったような・・・?
忘れたのでググり直した。
URLリンク(joshcarter.com)
これだったかな・・・?
まぁ、取り立てて良くもなく悪くもなくだったような気が・・・
715:デフォルトの名無しさん
08/06/06 15:53:13
>>714
darcsとも比較してほしかったな。
このテストなら、糞SCMであることが証明されるはず。
716:デフォルトの名無しさん
08/06/06 17:14:55
>>713
まあ、ちょっと釣り目的もなかったと言えばウソだが、
まだまだコマンドが変更されてたりして安定してるとは言い難いのでは?
まだバリバリ CVS を使ってる私の感覚では、Subversion も…いや、
Subversion よりは Mercurial かな。
なんだかんだでクライアントは Windows を使わざるをえない状況で、
Windows での使い勝手をもう少し頑張ってほしいところ。
大手プロジェクト(?)が Mercurial に移行している記事は見たことあります。
うそォな感じでした。
>>714
わざわざどうも。拝見させていただきます。
でもなんだかんだで CVS からの移行先として有力視していますので、
ぼちぼちやっていきます。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5073日前に更新/206 KB
担当:undef