読者です 読者をやめる 読者になる 読者になる

SCMBootCamp in Tokyo 3 に参加しました

7月21日 SCMBootCamp in Tokyo 3 #scmbc(東京都)
SCMBootCamp in Tokyo 3 座席表
SCMBootCamp in Tokyo3 #scmbc - Togetterまとめ

この勉強会の存在を知ったのはいつだったか忘れましたが、次に開催されたらぜひ参加しよう!と思っていました。

最近、Mercurial を少しずつ個人的に導入し始めているので、第一希望 Mercurial で参加登録。
Git は大人気で抽選になったようですが、Mercurial はそんなこともなく?無事希望通り参加できました。

当日

会場設営のお手伝いのため、ちょっと早めに会場入り。
先日の TokyoMercurial で頂いた bitbucket T シャツを、ここで着なきゃいつ着るんだという気分で着ていったら他にも着てる人がたくさんいて笑いました。
まあ、着て行ったがために後々ちょっとしたネタができるんですが・・・

会場のニフティさんは広くて綺麗でした!
こんなところを提供していただけることに感謝です。

基調講演「世代差で見る履歴管理ツール入門」 by 藤原さん

世代差で見る履歴管理ツール入門

TokyoMercurial でおなじみ藤原さんによる基調講演。
第 0 世代から今回対象の第 3 世代まで、違い、メリットなど分かりやすく説明してくださいました。
こんな風に、体系立てて細かく考えることはなかったので参考になりました。
各世代間の移行のポイントなどもまとめられており、会社への導入の際に使える知識だと思います。
「簡単なメールだからって、telnetSMTP を喋る人はいない」は至言。

ハンズオン

同じテーブルになったのは、@bach_partita さん、@sekky さん、@cointoss1973 さん、加藤さん、TA として これまた TokyoMercurial でおなじみ @troter さん。
偶然にも、4月の NagoyaTesting でご一緒した加藤さんと同席となりました。

ハンズオンのお題は、各 DVCS のチートシートを作るというもの。
ここでは、reST で作成することにしました。
まずは各自のローカルと bitbucket 上のリポジトリで基礎コマンドの練習。
マルチプルヘッドを発生させて、マージしたりなどなど。
午前中は、大体これで終わりました。

お昼の休憩の後、いよいよ共有リポジトリを使っての作業です。
@cointoss1973 さんに用意していただいた、チートシートのベースを clone して、全員同時に作業開始。

ここから、コンフリクト & マージ地獄の始まりです。
午前のこのツイートの意味を思い知りました・・・

午前の演習のおかげでマージ自体はそれほど問題ないのですが、数秒に一回 push が入る状況のため、push → コンフリクト → pull → merge → push 以下略な感じで、なかなか push までが大変でした。

なお、いつもどおり、vim で編集、VimShell 使って hg コマンドという流れでやっていたのですが、push だけうまくいかず、コマンドプロンプト使ってました。事前に試しとけばよかったです。

ある程度終わったところで、@troter さんから新たな条件として、チケット駆動開発を追加です。
流れとしては、チケット取る → トピックブランチ作成 → チケットの作業 → default ブランチで pull → トピックブランチマージ → push な感じです。

@troter さんのツイートがこわいです。

ここで一旦演習は中断し、各チームの経過発表ということで、発表しました。
発表慣れしてなくて、うまいこと発表できなかったのが心残りです。

あと Git チームのコミットグラフが地下鉄路線図みたいで面白かったです。*1

演習再開後は、さっきの流れに沿って作業です。
チケットがチートシートの各項目なので、コンフリクトは発生しにくい状況でしたが、default ブランチでの pull を忘れたり、pull 後の update を忘れたりあたふたしてました。。。
そんな感じで演習終了。

最終的な成果はこちら。
https://bitbucket.org/bach_partita/scmbc-20120721

複数人で共有リポジトリを使ったことがなかったので、とても勉強になりました。
一人で作業していると分散のありがたさをそれほど感じることは出来ませんが、共有リポジトリを使う際にローカルリポジトリに全て残ってるという安心感は非常に大きかったです。

演習以外のことなど

  • うさみみ、ねこみみがたくさん
    • ねこみみメイドさん、うさみみ執事もいましたよ*2
    • 話題の動くねこみみも!
  • ランチ、スイーツおいしかったです!
    • カレー魔人がカレーを見落とすという痛恨のミス!

ビアバッシュ

ピザ、オードブルなどが運び込まれてビアバッシュ開始。
規模が大きい勉強会ということもあり、色々な方とお話できました。

また、先日の素振り会にモニター参加してくれた @singleton さんが、翌日の TDD in Action に興味を示していたでの @ebc_2in2crc さんと二人でけしかけ背中を押してあげた結果、参加することになりました。
快く了承してくれた @kyon_mm さんと @irof さんに感謝です。

ビアバッシュざっくり感想

  • spooning ヤバイ
  • "git"って打つのは長すぎる!"g"でしょ?
    • @tomy_kaira さんイケメン
  • @shin_semiya さんとすごい人たちとの出会い
    • 安定の闇 LT 力!
  • @pocketberserker さんの就活
    • ふつうって何だ・・・
  • Veracity すげー!
  • 神速さんファンクラブシールげっと

後半、Atlassian さん提供のbitbucket T シャツのプレゼント大会があったのですが、たまたま当たってしまい、しれっと貰いに行ったところ、お前着てんじゃねーか!帰れ!というツッコミを頂くというお約束をやらかしました。

そんなこんなで朝から晩まで密度の濃い一日を過ごすことが出来ました。

会場提供のニフティさん、運営スタッフの皆さん、参加者の皆さん、ありがとうございました!

*1:後にペンギンさんの手により一直線にされるのですが…

*2:残念ながら写真はありません