2012年6月7日木曜日

また又・SVN使いだがGitに乗り換えようと思う


レポジトリ間の連携の話。
今回は分散型ならではの話なので、Subversionとはの比較は無し。

まずは既存のレポジトリをgit cloneで複製して、各々が自分専用のレポジトリを作成する。
複製の複製も可能。

他のレポジトリの変更を自分のレポジトリにマージするにはgit pull。自分のレポジトリの変更を他のレポジトリにマージするにはgit push。
ただ、他のレポジトリを変更するgit pushは、そもそも許可されているとは限らない。そんなときはレポジトリの持ち主にpullしてもらう。
なお、pull/pushで変更するのはレポジトリ全体ではなくブランチ。

他のレポジトリのエイリアスを登録しておくと、操作の度にURLを入力しなくても済む。エイリアスの追加や削除等は、git remoteで管理できる。なお、git cloneで複製したレポジトリには、デフォルトで複製元のレポジトリにoriginという名前が付けられている。

2012年6月5日火曜日

E3 2012

チラシの裏。

さて、いよいよWiiUの発表か。計算能力はまあ、そこそこモダンなCPUとGPUを積めば十分だろうけど、ストレージはちょっと心配。3DSのように標準でSDカードを使ってくれれば、勝手に安く大きくなってくれるだろうけど、HDのコンテンツにはちょっと帯域が心細い気もする。

どこまで発表されるかは分からないけど、お楽しみは2時間後。

2012年6月4日月曜日

続続・SVN使いだがGitに乗り換えようと思う


GitのブランチがSubversionのそれと違うなぁと思った点を3つ。

まず実装。そもそもSubversionのブランチは、運用でブランチとして扱っているだけの単なるサブディレクトリなので、明確にブランチ機能を備えたGitとはまるで違う。

次にブランチ作成の気軽さ。Subversionでブランチを作るということは、共有レポジトリに新たなサブディレクトリを作るということ。運用ルールにもよるけれど、ちょっとした実験用ブランチを作るのは気が引けてしまうことも多い。一方Gitなら、あくまで自分専用のレポジトリなので、実に気軽にブランチを作成できる。

最後にマージの厳格さ。コミットもブランチ作成も気軽なGitだけれど、マージに関してはSubversionよりGitの方が細かい。Subversionの場合、どの変更をマージしたかという情報(mergeinfo)が欠落している場合が結構ある。…というか、mergeコマンドを使わない(人|クライアント)が結構多い気がする。mergeinfo自体が後付けなので仕方ない気もするけれど、理由はどうあれ、何をマージしたのか分からなくなるのは非常に困る。
一方Gitは、マージも含めて適用してきた変更をきちんと把握しているので、mergeコマンドでは未適用の変更のみを正確に適用できる。もちろんGitでも、mergeコマンドを使わずに出所不明の変更としてcommitすることはできるけれど、そこは分散型の良いところ。自分専用のレポジトリなのだから、きちんとマージするというルールを自分だけが守っていれば、他人のいい加減なマージに振り回されることは無い。

他人のレポジトリと同期する話は後ほど。

2012年6月3日日曜日

Macのnmでdemangle

Macに入ってるnmには-Cオプションが無くて、C++のシンボルが分かりづらいなぁ。…と思ってたんだが、c++filtというdemangleするフィルタが入っていた。
% nm xx.o | c++filt
のようにnmの結果を食わせてやれば、demangleされた名前が見える。

c++filtってのもGNUのツールなのか。

2012年6月2日土曜日

180勝目

チラシの裏。
やった! 西口に勝ちが付いた。6回途中の降板は、ライオンズ的には負けフラグ半立ちなんだけど、今日はよく逃げ切ってくれた。
次の登板は、苦手の東京ドームか? それでもなんとか勝って欲しいな〜。交流戦の優勝をセリーグに取られたくないし。

2012年6月1日金曜日

codepad

codepadというサイトを知った。
CやらRubyやらのコードを入力すると実行できる。…だけでなく、コードと実行結果へのリンクが生成される。

http://codepad.org/9PeNQ590

このリンク先のテストコードはいつまで残っているのだろうか?

初志貫徹、一気通貫、魔貫光殺砲

最近読んで、なるほどと思った記事。

http://cpplover.blogspot.jp/2012/05/60.html

久しく逸般的な環境から抜け出せていないので、60%という数字にはピンと来ないけれど、確かに思い当たる節がある。そう、過去に出会ってしまった書き手の正気を疑うようなコードのあれやこれに欠けていたのは、一貫性だ。

そもそも一貫した規則性から美を見出さない人なら、そりゃ平気で汚いコードも書けるわな。