Python Developers Festa 2012.03 に参加&Mercurialハンズオンしてきました
Mercurialハンズオン要員として参加してきました。みなさんお疲れ様でした。
ハンズオンは主に資料でもくもくしてもらいながら、参加者の気になる点にid:troter、id: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の話でいうと、開発者任せになっています。必須の操作ではないです。