Python Developers Festa 2012.03 に参加&Mercurialハンズオンしてきました

Mercurialハンズオン要員として参加してきました。みなさんお疲れ様でした。

ハンズオンは主に資料でもくもくしてもらいながら、参加者の気になる点にid:troterid:flying-foozyが答えていくスタイルで運営しました。
おぼえている質問と回答、思いついたことをまとめておきます。flying-foozyさんのまとめも見てみてください。

mercurialを積極的に採用するべき状況はなに?

よく聞かれる質問なので、僕の考える状況を載せておきます。

開発環境にWindows環境が含まれている
Windowsもばっちりサポートしています。
GUIクライアントがほしい
WindowsではTortoiseHg、MacOSXではSourceTree、MacHgなど、成熟したGUIクライアントが存在します。
習熟度がばらばらのメンバーで運営する
「DVCSとしてはシンプル」、「TortoiseHgがある」、「リポジトリを破壊しにくい」という特徴があるので、習熟度がばらばらでも(デザイナーさんのようなソフトウェア開発が専門外の方でも)何とか使ってもらえます。
githubが利用できない
あなたがgit押す理由ってgithubが使いたいだけでは?githubが無いgitのためにリポジトリサーバの構築や運用フローを考えられない場合はmercurialを採用したほうが手間が減ります。

hg mergeの実行(コミット前)をなかったことにするには?

次のコマンドを利用すると、作業領域の操作をなかったことにできます。

$ hg update --clean

git diff --color-wordsと同じ事はできますか?

Mercurial本家サイトにありました。

wdiffという外部プログラムに依存しているのでapt-getなりyum(centosならrepoforgeが必要)でインストールしてください。

名前付きブランチが消せないけどどうするの?

うちプロジェクトの例だと、気にせず名前付きブランチをガンガン切る運用を行っています。割り切っちゃうのが大事

rebaseは使うの?

git rebase -iを正しく理解していないのでhg rebaseの話でいうと、開発者任せになっています。必須の操作ではないです。