【分散型バージョン管理】 Mercurial 2【hg】

2011/11/12(土) 23:55:48.78
分散型バージョン管理システムMercurialについてのあれこれ

前スレ
【分散型バージョン管理】 Mercurial 【hg】
http://hibari.2ch.net/test/read.cgi/tech/1251208950/l50

公式
http://mercurial.selenic.com/wiki/

日本語チュートリアル
http://mercurial.selenic.com/wiki/JapaneseTutorial

Mercurial - Wikipedia
http://ja.wikipedia.org/wiki/Mercurial

Mercurialではじめる分散構成管理
http://gihyo.jp/dev/feature/01/mercurial/0001

TortoiseHG
http://tortoisehg.bitbucket.org/
2011/12/04(日) 18:05:25.43
>>39
Windows から使うのはやっぱりそれが一番かなー
2011/12/04(日) 18:07:26.05
>>40
mercurial-2.0.win32-py2.6.exe をインストールしたら、どのディレクトリに
hg.exeがインストールされるの?

馬鹿なの?
2011/12/04(日) 18:13:19.46
hg.exeじゃなかったらhg.batかなにかがPython/scriptsに入ってるんでしょ
2011/12/04(日) 18:15:19.09
>>43
だから知ったかの無意味なレスやめろってw
そんなものが無いから
2011/12/04(日) 19:42:16.98
2011-12-03: TortoiseHg 2.2.1 (with Mercurial 2.0.1) released
2011/12/04(日) 22:03:28.37
>>35
mercurial-2.0.1.win32-py2.6.exe でやってみても同じだった。

原因不明だ、、
2011/12/04(日) 22:07:14.95
>>46
ソース嫁
2011/12/05(月) 00:42:51.35
http://selenic.com/hg/file/66e87c11447d/setup.py

22 scripts = ['hg']
23 if os.name == 'nt':
24 scripts.append('contrib/win32/hg.bat')
...
118 setup(name='mercurial',
...
125 scripts=scripts,

C:\Python26\scriptsにhgとhg.batが入ってそうだが
2011/12/05(月) 00:46:25.50
>>48
そういう風に書いてくれるとよくわかる。見つかりました。
ありがとう。
2011/12/05(月) 08:06:56.49
最初から自分は阿呆だから新設丁寧に教えろ位言っておけばいいのに。
2011/12/05(月) 17:13:13.35
もう言ってるようなもんだけどなあ
2011/12/06(火) 00:02:07.66
>>50>>51
おいおい、俺は>>49でちゃんとお礼を言ったつもりがまだからむのか?

ジジイになると、あれとかこれとか言ってちゃんと説明できないの?
.exe も.bat 同じなの?
hd.exe はmercurial-2.0.win32-py2.6.exe に入ってるの?

俺にからむんなら、相手になるよーーー
スレが荒れちゃうよ?

どうすんだよ?
2011/12/06(火) 05:46:25.47
馬鹿には無理
2011/12/06(火) 07:18:54.79
M女史思い出した。
2011/12/06(火) 15:27:09.24
スレを荒らすならどっちも別でお願いします。

年齢に関係なく口や態度が不快な人は居ます。その人の能力に因らずね。
適切に対処してあげてください。
有能で口の悪い人、
無能だけど優しい人、
無能で口の悪い人、
いろんな人がいます。

でも、一番いいのは有能でウェルターズオリジナルをくれる人です。
2011/12/12(月) 23:14:52.40
最近、ソース管理にmercurialを使い出しました。

今日、大きなzipを含むチェンジセットを事情によりバックアウトしたところ、
「Error -5 zlib.error while decompressing data」
というようなメッセージが表示されて、それ以降リポジトリに対して
何もできなくなってしまいました。
なんとか復旧する方法はないでしょうか。

エラー発生時は、mercurial 1.8を使っていました。
また、最新のmercurial でも同じ現象が出ることを確認しています。
5756
垢版 |
2011/12/12(月) 23:16:59.98
追加質問です。

どこかに障害復旧手順が掲載されてたりしますでしょうか。
2011/12/13(火) 01:13:56.23
>56
hg verifyで駄目だったら、hg convertとか?

リポジトリの履歴を管理しているリポジトリから、エラー発生前の状態を取り出すとか。
2011/12/13(火) 07:45:27.20
>>56
バックアウトって、hgのbackoutコマンドではなく、リポジトリをzipで固めたものを展開したことを言っている?
だとしたら、.hgのファイル・ディレクトリの書き込み・読み込み権限が無いことが考えられる。
"hg backout"で壊れる可能性はあまりないので、もともとリポジトリが壊れていない?
操作前に"hg verify"したら何が出力される?
6056
垢版 |
2011/12/14(水) 00:46:19.72
>>58,59
レスありがとうございます。
今日はリポジトリをさわれなかったので、
明日やってみます。

なお、hgのbackoutを実行して、エラーになりました。
verifyすると、詳細なメッセージは忘れましたが、
「ERROR -3」とzlibのエラーが表示されます。
2011/12/15(木) 22:31:41.21
>>60
その大きなzipって、だいたいどれくらいのファイルサイズなの?
62デフォルトの名無しさん
垢版 |
2011/12/16(金) 16:21:27.77
Abstracting filesystem API for UTF-8 support on Windows
http://markmail.org/thread/gdutukafpo4euc7i
2011/12/16(金) 16:26:25.72
>>62
http://www.selenic.com/pipermail/mercurial-devel/2011-December/036385.html
64デフォルトの名無しさん
垢版 |
2012/01/02(月) 07:58:58.25
2012-01-01 Mercurial 2.0.2 released!
65デフォルトの名無しさん
垢版 |
2012/01/05(木) 22:39:41.07
Bitbucket久方振りの長期ダウン記念あげ
2012/01/05(木) 22:54:56.11
うおーん
pushできないよおお

http://twitter.com/bitbucket
Sorry everyone, we're aware of the site being unavailable right now, and we're busy looking into fixing it ASAP.
We've identified our main NFS problem as the problem, and we're working on getting it back online.
2012/01/06(金) 06:35:58.49
分散型ならサーバがダウンしていても使えるからいいじゃないか。
2012/01/06(金) 07:31:31.92
>>67
リポジトリだけなら多少ダウンしていても良いけど、BTS機能がダウンしていると痛い。
2012/01/07(土) 00:01:15.76
分散型BTSが必要だな。
2012/01/07(土) 10:02:57.20
世の中にはあるらしいよ>分散BTS

流行ってないけど……つかステータスのマージとかどうすんだ
2012/01/07(土) 12:42:25.07
分散納品

分散出荷
2012/01/09(月) 21:14:33.98
TortoiseHg Portable 2.2.2 Development Test 1
ttp://portableapps.com/node/28151
7317
垢版 |
2012/01/21(土) 18:21:00.84
やっぱgitスレの方が盛り上がってますね
皆git使いましょうよ
2012/01/21(土) 19:02:17.64
hgは2ch以外の所に日本語の情報共有の場があるし。
アドベントカレンダーも盛況だったし。
第2回ソース鑑賞会もあるし。
2012/01/22(日) 03:40:28.15
mercurial-2.1-rc.tar.gz 20-Jan-2012 21:33 3.1M
76デフォルトの名無しさん
垢版 |
2012/01/22(日) 23:39:27.69
PCゲームをPSP化できるソースや、やり方が公開されているのですが、
WindowsユーザーはTortoise HGを使うとの記述があります。
ttp://wololo.net/wagic/2010/07/10/compiling-aquaria-on-the-psp-download-included/

Cygwinで頑張ってみたのですが、上手い事PSPで動かせるデータが作れず、
今度はTortoise HGで使い方を調べつつ試してみようと思うのですが、
リンク先に書かれている事の殆どをTortoise HGで実行可能なのでしょうか?

度を越えた素人なのでこういうレベルからの質問で申し訳ないのですが、
どなたかアドバイスくださると助かります。
2012/01/22(日) 23:40:57.57
板更新後sage入力忘れました、すみません。
2012/01/23(月) 00:15:59.76
ソースをとってきた後の問題はMercurial関係ないだろ
2012/01/23(月) 02:13:52.19
VirtualBoxにUbuntuでもいれて
linuxでやったら?
2012/01/23(月) 12:05:13.86
レスどうもです。

>>78
やっぱりそうですかorz
ちょっと使ってみてそんな気配を感じてました。

>>79
それで頑張ってみたいと思います。

ありがとうございました。
2012/01/24(火) 14:36:24.22
>>73
gitはどうも使いにくい……というか、egitの出来が問題なのかも知れないが
試験的に導入してみたところコンフリクト時に先祖返りさせてしまう事故が
しょっちゅう起きちゃって多人数で使うのは熟練が必要ってことで
今は使うの見合わせている……
Subversionから離れられない。
Mercurialがマルチバイト文字対応になったらそっちの方がよさそうかなぁって雰囲気。
2012/01/24(火) 15:20:39.76
>>81
> Mercurialがマルチバイト文字対応になったらそっちの方がよさそうかなぁって雰囲気。

FAQだけど、ここが更新されたのでリンク
http://www.lares.dti.ne.jp/~foozy/fujiguruma/scm/mercurial-encoding.html

git、hgとも「マルチバイト文字対応」はしている。

2012/01/24(火) 22:55:54.71
そんなバッドノウハウだらけの状態で無理して対応なんて言わなくていいよ。
もうすぐUnicode対応来るんだからゆっくり待とうぜ
2012/01/27(金) 11:49:18.65
ゆっくりしていってね!
2012/01/28(土) 11:35:43.77
>>75
2.1RCが出ているみたいだけど
http://mercurial.selenic.com/wiki/WhatsNew

ラージファイル関係がかなり変わるのかな?
使った香具師いる?
86デフォルトの名無しさん
垢版 |
2012/02/02(木) 01:20:47.17
>>85
(´・ω・`)ノ
2012/02/02(木) 16:27:50.01
mercurial-2.1.tar.gz
2012/02/10(金) 12:14:14.06
TortoiseHg 2.2.2 (with Mercurial 2.0.2) でファイルをaddすると、
たまに、ファイル名が全部大文字に変換されてしまう事がある。

発生条件不明だが、revertしてやり直すとならなかったり。
みなさんはどないですか?
2012/02/10(金) 13:16:54.97
subversionからの移行を考えています。
subversionで「ベンダーブランチ」の追跡で使っている
svn_load_dirsみたいな付加プログラムはhgがよきに計らってくれるので
不要という事でしょうか?

↓ここを参照しました。
http://www.bonsaierp.com.au/blog/vendor-branches-mercurial-part-2
2012/02/15(水) 14:54:16.49
TortoiseHg 2.3 (with Mercurial 2.1) released
2012/02/15(水) 19:48:52.94
今月は遅かったな、なんかトラブルか?
2012/02/15(水) 19:54:41.13
>>91
phase対応
2012/02/15(水) 20:41:23.38
>92
何それ?
2012/02/15(水) 20:52:55.28
今回もgraft対応は見送りか・・・
2012/02/15(水) 22:25:27.44
なんか複雑になってきたしそろそろ最新バージョン対応の本が欲しい
2012/02/16(木) 04:37:23.80
>90
デジタル署名ついてねーな
2012/02/16(木) 17:50:22.94
>>88
https://bitbucket.org/tortoisehg/thg/issue/1543/tortoisehg-renames-files-with-all-caps
2012/02/16(木) 20:12:09.06
パーミッションの実行可能ビットの変更を無視したいんだが良い方法は無いのかね…
いちいち変更扱いされたりhgsubversion使ってるとsvn:excutableが付いちゃったりで非常に煩わしい
ググるとpre-commitフックとかで実行可能ビットを落とす方法が出てくるけど、そうじゃなくて無視したいんだよなぁ
2012/02/24(金) 14:18:10.09
Mercurial vs Git: Why Mercurial?
http://blogs.atlassian.com/2012/02/mercurial-vs-git-why-mercurial/
2012/03/04(日) 19:38:38.80
mercurial-2.1.1.tar.gz 01-Mar-2012
2012/03/08(木) 23:49:32.08
phaseっていつからできたっけ?
2012/03/09(金) 08:39:38.37
>>101
http://mercurial.selenic.com/wiki/Phases
>Phases are introduced in Mercurial 2.1.
2012/03/14(水) 18:52:17.15
Gitに挫折したんですがMercurialは簡単でしょうか?
2012/03/14(水) 20:46:16.72
>>103
簡単です
難しいと思っても、我慢して使い続けてみればきっと超簡単になります
2012/03/14(水) 21:11:38.27
簡単なことをするだけなら簡単
Gitもきっとそうだと思うけど
2012/03/14(水) 22:52:25.16
>>103
Gitの何に挫折したかによるんでは
2012/03/14(水) 23:15:54.80
簡単ですかね
試してみるか考えてます
git init
git add .
git commit -m "test"
git checkout .
git clone http〜
の5つは覚えられるんですがそれ以外のことがちんぷんかんぷんで難しいです
ブランチっていうのは何をするのかよくわかりませんし、
2012/03/14(水) 23:24:34.82
チンチンブラブラ
2012/03/14(水) 23:31:49.38
>>103
個人的にはMercurialのほうが簡単。

rollbackが1回しかできない > MQでかいけつ
サブディレクトリのチェックアウト > 自分には必要ない or サブディレクトリでhg init
ブランチを明示的に作る意味があまりない

という点だけかな。

gitはbranchやcommitが柔軟なのはいいが
Mercurial先に覚えた自分には
考え方が違いすぎて覚えるのに苦労した。
2012/03/14(水) 23:35:34.35
まじすか
やっぱ1年後にはgithubが使えるようになりたいというのもありますけど
Mercurialから始めたいと思います
2012/03/15(木) 00:30:35.55
>>110
Mercurial使うならbitbucket使ったら?
2012/03/15(木) 01:31:35.10
何よりもMercurialはTortoiseHgが便利じゃないか
俺は実用したことないけど
2012/03/15(木) 19:37:42.25
TortoiseHgはログのツリー表示と、複数の手動削除したファイルを
デリートするのに使っているなぁ
まとめてrevertする方法側かわからないのです
2012/03/16(金) 22:08:14.35
hg-git で Git リポジトリに変換するときに、コミッタごとのメールアドレスを指定するのは
どうすればいいんでしょうか。

https://github.com/schacon/hg-git に書いてある方法で
.hg/hgrc の [git] の下に authors = /path/to/authors.txt を書いて、
authors.txt には foo = foo <foo@foo.com> というのを書いているのですが
GitHub に push してみたところメールアドレスが全く設定されませんでした。

hg-git は easy_install で入れた 0.3.2 です。
2012/03/19(月) 19:38:47.52
hg しか使っていない友人に git と比べて何がいいか聞いたら MQ とのこと。
ググった感じだと git で branch と rebase でやれば同じことができるように思えるんだが、
実際のところどうなんだい?
あと hg でできて git でできないことがあれば教えてくれ。
2012/03/19(月) 20:21:22.82
>>115
やろうと思えば出来ないことってあまりないと思うよ。
どっちかの新機能はもう一方にも取り入れられていくだろうし。

俺はWindows対応や日本語ヘルプの充実があるのでMercurial
使い始めたよ。VCSを使ったことないような人に利用を
お願いするときにはこのあたりが問題なりそうな気がしたから。
2012/03/19(月) 23:38:47.59
>>115
そう、MQは便利なんだよ。Gitにもguiltがあるけど。

> あと hg でできて git でできないことがあれば教えてくれ。
バックアップ代わりの1個のリポジトリを作って、何でもpush -fで
そこに押し込むというのを、MQで間違えた時などのためによくやってるんだけど、
gitだといちいちブランチ名をつけなきゃいけなくて面倒かも。
2012/03/20(火) 17:37:45.95
無名ブランチはgitにない。
2012/03/21(水) 02:47:40.60
git で pull してコンフリクトが起きたときに、ファイルに
<<<< みたいなのが勝手に書き加えられるのが嫌だね。
しかも LF 固定なんで Windows では悲惨なことになる。
hg だと heads が増えるだけだからね。

ブランチ回りは hg と git は違いすぎて比較ができないね。

あと本質的ではないのかもしれないけれど git はオプションが
やたら複雑なのと(alias 漬けにすればなんとかなる?)、リビジョ
ンやブランチの指定方法に気が狂いそうになるのと、あと
hg serve がない(git daemon でできる、って書いてあるのを見て
やってみたけど、自分のところではうまくいかなかった) のと、
あと hg のほうがプラグインの仕組みがよくできていることかな。
2012/03/21(水) 09:02:51.20
>>119
hgのpullはgitで言うとfetch相当だよ。
gitのpullはhgで言うとpullの後updateとかmergeとか。
ブランチ回りは
hg:取り込まれているすべてのコミットのIDが連番と対応づけられていて、
枝分かれしてマージ前のコミットや親子関係のないコミットもすべて参照できる
git:コミットを参照するにはIDしかなく、「ブランチ」が指す最新のコミットから
parentをたどっていくことで各「ブランチ」のすべてのコミットを参照する
っていう違いが影響してるよね。gitの「ブランチ」って呼び名はどうかと思うけど。
2012/03/25(日) 17:57:54.32
今時クロスプラットフォームで動かない
カスバージョン管理システムは滅んでくれ
存在するだけで有害だ
2012/03/25(日) 21:46:09.33
有害なら勝手に消えて行くさ
2012/03/28(水) 23:12:47.58
うちの会社をSVNからMercurialに移行させようと頑張ってるんだが、
あと一歩の所で部長にStatSVNみたいのが無いから移行できないって言われた(´;ω;`)
たいして活用できてないのに・・・。
2012/03/31(土) 12:47:29.79
>>123
hg activity
hg chart
hg churn
などがあるようだ。
statsvnはxmlを食わせればいいみたいだから
hg logをその形式で出せばいいだけかも。
2012/04/02(月) 19:10:47.67
その部長。statsvn を解決したら別の問題を出してきそう
126123
垢版 |
2012/04/03(火) 23:30:16.09
そうかもね・・・・。
今回の機会は逃したけど、数か月後にまた移行の機会が来るからその時までに味方を増やしておこう。
2012/04/04(水) 06:14:43.48
会社だとビルドシステムやテストシステム・BTS はもちろん、
スケジュール調整や、場合によっては人事考課にまで影響が及ぶから
慎重になるのは当然。
2012/04/07(土) 00:26:13.20
今更だけど

2012-04-01 Mercurial 2.1.2 released!
2012/04/23(月) 23:45:44.85
TortoiseHg 2.3.2 released!
2012/04/24(火) 00:55:38.66
2012/04/24(火) 09:13:23.46
2012/04/30(月) 14:49:59.06
Mercurial 2.2 は明日リリース予定かな
2012/05/01(火) 12:43:37.90
2.2からamendできるようになったんだ。地味に嬉しいわー
2012/05/01(火) 20:29:50.48
>>133
amendってどういうときに使うの?
2012/05/01(火) 21:08:20.13
>>134
直前のコミットを修正したい時に使う。
何かしらの変更をコミットしたが、他にも同時にコミットしなきゃいけない変更を入れ忘れてた時とかに hg commit --amend ってやると、その入れ忘れてた変更を直前のコミットに合成できる。
2012/05/01(火) 23:21:36.12
>>135
なるほど、便利かも。
2012/05/02(水) 07:58:46.69
2012-02-01 Mercurial 2.2 released!
2012/05/02(水) 08:01:54.76
>>135
hg rollback
hg add
hg commit
の代わり?地味だなー
2012/05/02(水) 08:02:56.74
あれ、公式の日付間違ってる…
2012-05-01 Mercurial 2.2 released!
2012/05/02(水) 23:44:58.66
hgってディスクフォーマット的には歴史改変禁止の方向だとおもうけど、
けっこういろいろできちゃうな。
レスを投稿する