わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

2009年3月16日〜17日

研究室旅行での会話より.
当日記ではいつものことですが,実際になかった発言が多分に含まれています.

和歌山みかん事情

和歌山の人はみかんを特別な方法で剥いて食べるという話のあと.
「そういえば,和歌山の人って,当たり前のようにみかんを食べてるね」
    「そうですね.まあ売り物でなくても,みかんの木を持っている人もおりますし」
  「近所の人からいただいたり」
「買わないの?」
  「うーん,スーパーなどで売っているので,買っている人はいるんでしょうけど,目にすることは,ないですね…」
「近所からもらうときは,段ボールで?」
  「そういうのもありますが,親しいところなら,コンテナに入った状態で,もらうことがありますよ」
「コンテナ!?」
    「あー,船とか貨物車とかで運ぶコンテナやあないっすよ.農作物を入れる,プラスチック製で,50×60×70*1くらいのコンテナってのがあるんです」
「ふうん」
    「スタッカブルですし,折りたためないですが,空のコンテナ3つで,2つ分になるように収納できるんです」
「コンテナに入った状態ってことは,食べ終わったら,コンテナを返すんかな?」
  「いやまあ,ビニル袋か籠にでも入れて,すぐ返します」

Git

「面白い本*2を読んでるね」
  「ええ,どうせ早起きすると思てましたんで」
「このGitって,どんなことするの?」
  「バージョン管理ソフトウェアです.学生がSubversionを使った文書管理システムで修論と卒論を書きましたが*3,あれのいわば発展形です」
「発展? どんな風に?」
  「Subversionは,履歴情報を持つところが,サーバなどで一元管理されているのですが,Gitは一元管理ではなく,分散型のバージョン管理を採っているのです」
「そんなんだと,どれが最新のバージョンか,分からないんじゃあないの?」
  「そうですね,『最新の一つ』を重視していないのが,Gitのポリシーですね.いくらでも分岐して,必要に応じて,分岐の元にお返しできるようになっていまして」
「それと,リビジョン番号は?」
  「ええ,Subversionだとリビジョン番号,通し番号で管理できますが,Gitでは番号はなく,代わりに,SHA-1のハッシュで識別します」
SHA-1ということは…」
  「160ビットで,HEXで表すと40文字になります.まあ実際のところは先頭何文字かでバッティングすることはありませんので,7文字だけ見せる*4とか,それをリビジョン番号代わりに指定してするだとかいった使い方を,するようです」
「これから研究に使っていくの?」
  「昨年度はSubversion,今年度はGitにしました,ではひどいので,もう少し考えますが,ともあれ自分でもう少し試してみます.SubversionではWindowsで簡単に使える,TortoiseSVNというアプリケーションがあるのですが,Gitではそれに相当するものがなく,コマンドラインのみなので,みんなで使うには少しハードル敷居が高いです」

*1:単位はcm.調べてみると,MB-20Bが一番近いような.思っていたよりサイズが小さいし.

*2:Pragmatic Version Control Using Git (Pragmatic Starter Kit),"Joe Asks... What Are SHA-1 Hashes, and Why Does Git Use Them?" (p.28)をもとにしています.

*3:昨年12月の「じんもんこん2008」でも,Subversionを標題に含む研究発表をしています.

*4:前掲書p.75に例があります.手元でも,「git log --pretty=format:"%h %s"」を実行すると,ハッシュ値は先頭7文字だけでした.