2011年11月1日火曜日

mercurialのススメ、その後

mercurialのススメを書いてから、もう10ヶ月経ってますが、当時からするとだいぶmercurialも普及してきた感があります。グーグルの検索からも、数人来ますしね。

筆者の出稼ぎ先では、新規案件にようやくmercurialを使い始めました。幾つかの些細な反論&反対がありましたが、この手の話は使うより慣れろです。

従業員のほぼ全員がWindowsなので(筆者はlinuxですが、従業員ではないので)、漢字ファイル名を使わないわけには行きません。結論としては

  • プログラマはmercurialで
  • 非プログラマはsubversionで

まあ問題の先送りですね。

非プログラマの成果物は、画像だったりEXCEL仕様書だったりで、どうやってもコンフリクトするので、multiple headのメリットは殆ど有りません。また漢字ファイル名を付けたがるので、これを辞めろというのはかなりの混乱があるだろうという配慮からです。

一方、プログラマは、英数字だけのファイル名にしてね。と徹底しており、それが可能です。

まあ大抵の部署で、こういう運用なら可能なのでは無いでしょうか。

出稼ぎ先ではバグトラックはredmineを昔から使ってました。mercurialでも標準で繋がりますが、リポジトリを1組しか設定できません。こういうのって古いんじゃね?結局mercurialだけを接続しました。

multiple headとpushは、最初はかなりの抵抗があったようです。当面は、トータスhgのpushのforceだけ何とか覚えてもらって、マージは後で考えることにしました。

もともと彼らの実装は、特定ソースのswitch/caseを皆でよってたかって書き足す運用なので、コンフリクトは免れません。subversionだったら簡単だったよという主張。こりゃ弱ったなと思いつつ、色々確認してみましたが、どうやらswitch/caseの増減は、mercurialは苦手なタイプの差分ってことらしい。筆者はそういう書き方をしたことがないので、困ったことがない。と言うわけです。

そりゅあお前ら書き方が悪いよ、という台詞を飲み込んで、当面は一人がマージをすることになった訳です。2週目以降は、徐々に他の作業者にも自分でマージしてもらうようにしました。

なんだかんだと3週間ほど経ちましたが、マージは完全に馴染んだと言ってよいでしょう。特にトラブルも不満も出てません。