home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/RCS/Mercurial

技術/RCS/Mercurial

技術 / RCS / Mercurial
id: 1013 所有者: msakamoto-sf    作成日: 2011-09-11 15:15:09
カテゴリ: Mercurial 

GoogleCodeやCodePlex(Microsoft)でもサポートされている分散型のリビジョン管理システムのメモ。

以下のメモの内、Windows環境については以下の環境で確認してます。

Win7 SP1 x86_32 Japanese
Mercurial 1.9.2 MSI installer - x86 Windows - requires admin rights

Win用設定メモ

%USERPROFILE%\mercurial.ini:
[ui]
username = foobar <foo@example.com>
ignore = ${USERPROFILE}\.hgignore
merge = internal:dump
%USERPROFILE%\.hgignore:
# use glob syntax.
syntax: glob

*.elc
*.pyc
*~

"[merge-tools]"でなぜか嵌ってしまった。

WindowsでWinMergeを使おうとするが、mercurial.iniの設定やhgrc.d/MergeTools.rcに設定しても実行バイナリが見つからないらしく使用できない。
最初はmercurial.iniの"[merge-tools]"セクションに、サンプル通りに指定していたのだが、レジストリ指定も駄目、実行ファイル指定(winmergeu.executable)も駄目、さらにインストールディレクトリのhgrc.d/MergeTools.rcの設定を弄っても駄目。泣きたくなってきた。TortoiseSVNに含まれているTortoiseMergeは認識されるらしく(MergeTools.rcのデフォルト設定)、毎回こちらが起動してしまう。
個人的にはWin環境でgVimを愛用していることもあり、WinMergeまたはgvimを起動させようと頑張ってみたが、どうにも上手くいかない。実行バイナリが見つからないのか?
どうしてもTortoiseMergeしか起動できないなら、いっそ手動マージで良いだろうとmercurial.iniのui.mergeにinternal:dumpを設定。あとはgVimで頑張る。

mercurial.ini:

[ui]
...
merge = internal:dump

参考:

vimをマージに使う

参考:

Eclipseと連携

とりあえずMercurialのWikiに載ってた"MercurialEclipse"を使ってみて、今のところ問題ない。コミットメッセージに日本語も可。

最初にJavaForgeでアカウント作るよう書かれてる。実際にアカウント作らないとEclipseからダウンロード出来ないか、といわれればその辺は実はよく覚えてない。もしかしたらアカウント作らなくても普通にインストール出来たかも。
Eclipseからのインストールについては、サイトに書かれてるのでそちらを参照。

→2012-03時点でEclipse 3.7 (Indigo) で試した限りでは、Eclipseの"Help" -> "Eclipse MarketPlace" から "Mercurial" で検索してそのままインストール出来ました。

で、基本的に一つのMercurialリポジトリ中に複数のEclipseプロジェクトを詰め込めるので安心。
既存のプロジェクトを追加するには、

  1. 一旦コマンドラインで適当なディレクトリにcloneして、
  2. その中にプロジェクトフォルダをごっそり移動して、(Eclipseのworkspaceからは一旦移動しちゃう。)
  3. pushして、
  4. Eclipse側でプロジェクトのインポートでMercurialのリポジトリをclone、
  5. インポートするプロジェクトを指定できるので適宜選択、
  6. 必要に応じて"bin"フォルダなど無視指定→リポジトリのrootに".hgignore"が出来るので、"Mercurial Repositry"ビューから直接commit + pushしておく。(複数Projectが入ってるリポジトリとかだと、Project毎に.hgignoreを作成するのではなく、リポジトリのrootに単一の.hgignoreが生成される。)

さすがに、右クリック一発でリポジトリに追加する機能は見当たらなかった・・・。

複数プロジェクトについては基本的にクローンしたディレクトリの中に素直にプロジェクトディレクトリが複数置かれて、それをEclipse側でインポートする感じ。

改行コード問題

参考:

Gitリポジトリとの相互変換

・HgリポジトリをGitリポジトリに変換:

・GitリポジトリをHgリポジトリに変換:"hg convert"で出来るらしい。



プレーンテキスト形式でダウンロード
現在のバージョン : 4
更新者: msakamoto-sf
更新日: 2013-07-28 16:49:26
md5:f8cdc3778ef56aa1a4866f682b1323fc
sha1:537b7a80d90564787010df6e817a1e4b8a26c19a
コメント
コメントを投稿するにはログインして下さい。