X



【分散型バージョン管理】 Mercurial 2【hg】
0001デフォルトの名無しさん
垢版 |
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/
0107デフォルトの名無しさん
垢版 |
2012/03/14(水) 23:15:54.80
簡単ですかね
試してみるか考えてます
git init
git add .
git commit -m "test"
git checkout .
git clone http〜
の5つは覚えられるんですがそれ以外のことがちんぷんかんぷんで難しいです
ブランチっていうのは何をするのかよくわかりませんし、
0109デフォルトの名無しさん
垢版 |
2012/03/14(水) 23:31:49.38
>>103
個人的にはMercurialのほうが簡単。

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

という点だけかな。

gitはbranchやcommitが柔軟なのはいいが
Mercurial先に覚えた自分には
考え方が違いすぎて覚えるのに苦労した。
0110デフォルトの名無しさん
垢版 |
2012/03/14(水) 23:35:34.35
まじすか
やっぱ1年後にはgithubが使えるようになりたいというのもありますけど
Mercurialから始めたいと思います
0113デフォルトの名無しさん
垢版 |
2012/03/15(木) 19:37:42.25
TortoiseHgはログのツリー表示と、複数の手動削除したファイルを
デリートするのに使っているなぁ
まとめてrevertする方法側かわからないのです
0114デフォルトの名無しさん
垢版 |
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 です。
0115デフォルトの名無しさん
垢版 |
2012/03/19(月) 19:38:47.52
hg しか使っていない友人に git と比べて何がいいか聞いたら MQ とのこと。
ググった感じだと git で branch と rebase でやれば同じことができるように思えるんだが、
実際のところどうなんだい?
あと hg でできて git でできないことがあれば教えてくれ。
0116デフォルトの名無しさん
垢版 |
2012/03/19(月) 20:21:22.82
>>115
やろうと思えば出来ないことってあまりないと思うよ。
どっちかの新機能はもう一方にも取り入れられていくだろうし。

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

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

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

あと本質的ではないのかもしれないけれど git はオプションが
やたら複雑なのと(alias 漬けにすればなんとかなる?)、リビジョ
ンやブランチの指定方法に気が狂いそうになるのと、あと
hg serve がない(git daemon でできる、って書いてあるのを見て
やってみたけど、自分のところではうまくいかなかった) のと、
あと hg のほうがプラグインの仕組みがよくできていることかな。
0120デフォルトの名無しさん
垢版 |
2012/03/21(水) 09:02:51.20
>>119
hgのpullはgitで言うとfetch相当だよ。
gitのpullはhgで言うとpullの後updateとかmergeとか。
ブランチ回りは
hg:取り込まれているすべてのコミットのIDが連番と対応づけられていて、
枝分かれしてマージ前のコミットや親子関係のないコミットもすべて参照できる
git:コミットを参照するにはIDしかなく、「ブランチ」が指す最新のコミットから
parentをたどっていくことで各「ブランチ」のすべてのコミットを参照する
っていう違いが影響してるよね。gitの「ブランチ」って呼び名はどうかと思うけど。
0121デフォルトの名無しさん
垢版 |
2012/03/25(日) 17:57:54.32
今時クロスプラットフォームで動かない
カスバージョン管理システムは滅んでくれ
存在するだけで有害だ
0123デフォルトの名無しさん
垢版 |
2012/03/28(水) 23:12:47.58
うちの会社をSVNからMercurialに移行させようと頑張ってるんだが、
あと一歩の所で部長にStatSVNみたいのが無いから移行できないって言われた(´;ω;`)
たいして活用できてないのに・・・。
0126123
垢版 |
2012/04/03(火) 23:30:16.09
そうかもね・・・・。
今回の機会は逃したけど、数か月後にまた移行の機会が来るからその時までに味方を増やしておこう。
0135デフォルトの名無しさん
垢版 |
2012/05/01(火) 21:08:20.13
>>134
直前のコミットを修正したい時に使う。
何かしらの変更をコミットしたが、他にも同時にコミットしなきゃいけない変更を入れ忘れてた時とかに hg commit --amend ってやると、その入れ忘れてた変更を直前のコミットに合成できる。
0140デフォルトの名無しさん
垢版 |
2012/05/02(水) 23:44:58.66
hgってディスクフォーマット的には歴史改変禁止の方向だとおもうけど、
けっこういろいろできちゃうな。
0141デフォルトの名無しさん
垢版 |
2012/05/03(木) 09:16:46.34
>>140
基本的なコンセプトとして容易に履歴をぶっ壊したりできないようにってのはあるんだろうけど、実際できる(ようにしてある)かどうかはまた別の話なのでは。MQもあるわけだし。
0142デフォルトの名無しさん
垢版 |
2012/05/04(金) 00:01:30.68
正直その辺はやり方次第なんで
できるなら最初から出来るようにしておいて欲しかった
0145デフォルトの名無しさん
垢版 |
2012/05/05(土) 16:57:11.37
TortoiseHg 2.4 released!
0149デフォルトの名無しさん
垢版 |
2012/05/12(土) 17:40:15.34
custom toolbarってどうやってアイコンとか登録するんだろ?
使ってる人いる?
0153デフォルトの名無しさん
垢版 |
2012/05/28(月) 08:02:28.04
hg locate dir/* --include .
とすることで目的の、
svn ls .
と等価なことが出来るようになりました。
ありがとうございました。
0154デフォルトの名無しさん
垢版 |
2012/05/28(月) 08:03:43.20
svn ls dir
と等価なことが出来るようになりました。
が正しかったです。。。
てへへw
0156デフォルトの名無しさん
垢版 |
2012/06/07(木) 05:29:10.77
mercurialがプライベートなリポジトリをもてることはわかった。
このプライベートなリポジトリをリモートにおくことはできないのかい?
おいらはいろんな端末で作業するからリポジトリをローカルにおきたくないんだ。
こんな使い方にmercurialは向かない?
0159デフォルトの名無しさん
垢版 |
2012/06/09(土) 12:56:03.41
>>156
なんかよくわからんが、
doropbox とか samba とかか、
subversion とか bazaar とかじゃね?

そもそも「プライベート」って何よ?
DVCS 関連でそんなキーワード見たことないんだけど・・・
0162デフォルトの名無しさん
垢版 |
2012/06/09(土) 16:10:13.09
>>160
そうなの?

「ローカルにリポジトリおきたくない」
=「commit したらリモートのリポジトリが更新される」
なのかと思ったよ

push し忘れることってまれによくあるよね
0169デフォルトの名無しさん
垢版 |
2012/06/13(水) 10:04:17.82
バンドルファイルのコミットメッセージや差分を表示する方法ってあるんでしょうか?
やりたいことはstripとかして溜まったバックアップを確認して要らないものは消したいです。
0171169
垢版 |
2012/06/13(水) 16:15:09.84
>>170 おっ、ありがとう。
0172名無しさん@お腹いっぱい
垢版 |
2012/06/13(水) 19:15:47.19
>>168
この文脈でのプライベートなら、
一般的な DVCS には存在する概念だと思うよ。
0177デフォルトの名無しさん
垢版 |
2012/07/21(土) 01:54:20.45
cvsからMercurialに変換しようとして cvsリポジトリをチェックアウトしようとしたが
wincvsよく分からない
もう亞北ネル
0178デフォルトの名無しさん
垢版 |
2012/07/23(月) 00:17:33.42
何とかcvs.exeでチェックアウトして
Mercurialリポジトリに変換しようとしたけれども、destに空のMercurialリポジトリが出来てしまう
それに何でhg convertの表示が文字化けするんだろうか
0180デフォルトの名無しさん
垢版 |
2012/08/03(金) 08:08:26.62
graphlog拡張がコアに取り込まれた、ってのが大きな変更点かな?

rebaseの変更点も重要そうな気もするが、意味がよく分からん。
0184デフォルトの名無しさん
垢版 |
2012/08/22(水) 07:43:42.99
ふぉー
0190デフォルトの名無しさん
垢版 |
2012/09/08(土) 12:46:25.31
レスありがとうございます。

windowsでTortoiseHgを使用しているのですが、
tortoisehg-2.5.0-hg-2.3.1-x86.msiに更新したら、
日本語のファイル名の操作をするとエラーが出るようになりました。

R:\>hg init hoge

R:\>cd hoge

R:\hoge>echo hoge>日本語.txt

R:\hoge>hg add 日本語.txt
中断: [win32mbcs] 文字コード 'cp932' によるファイル名変換に失敗

※コンテキストメニューでの操作でも同様にエラーが出ます

tortoisehg-2.4.2-hg-2.2.3-x86.msi までは出なかったので、
設定等に問題はないと思っていたのですが見直してみます。
0191189
垢版 |
2012/09/08(土) 17:21:47.62
>>190
同じエラーメッセージが表示されました。
自分で試した際には hg add のみでファイルを指定していませんでした。
0192デフォルトの名無しさん
垢版 |
2012/09/08(土) 20:48:55.77
>>191
確認どうもです。

ファイル名を指定したaddが駄目だっただけなんですね。
普段の使い方だとこれが出来ないと面倒なので、
おとなしく前バージョンを使っときます。
0193デフォルトの名無しさん
垢版 |
2012/09/17(月) 21:55:34.95

         /\ hg-sshよ、空白一つがあるとかないとかで
        ../  ./|
      ∴\/./ Permission denied (publickey).
     _, ,_゚∵ |/
   (ノ゚Д゚)ノ     ふざけんな!
  /  /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0194デフォルトの名無しさん
垢版 |
2012/10/07(日) 18:40:19.19
保守
0195デフォルトの名無しさん
垢版 |
2012/10/08(月) 11:39:39.60
Workbench のグラフで複数リビジョン選択して Graft すると
なぜか新しいリビジョンから古いリビジョンに向かって処理されて無茶苦茶になる。
Transplant はちゃんと古いリビジョンから処理してくれたのに。
0197デフォルトの名無しさん
垢版 |
2012/10/08(月) 23:07:02.63
不具合だったんかい。仕様かと思ったよ。まあ一つ一つ実行してもたいした手間じゃないけどさ。
またそのうち試してみる。
レスを投稿する


ニューススポーツなんでも実況