android携帯

昨日から今日にかけて空き時間にちょっといじってみました。ソフト、ハードともにおもしろそうですね。せっかくの開発機なのでなにかせねばと思い、さっそく書籍を購入しました。今回もらったのは基本的には開発用で、SIMをさせば通話やパケット通信もできるそうですがパケット定額などのサービスなどは適用されないみたいです。ですが、その代わりにSIMフリーで起動できたりプラットフォームの入れ替えができたりと、まさに開発用のチューニングが施されているようです。
そんなわけで日本で製品がでるようになったら、ぜひぜひお出かけ用と開発用の2台体制にしたいです。あー持ち歩いて色々使いたいー。

git submodule

gitでは、subversionのようにリポジトリの一部分だけをチェックアウトすることはできません。つまりgit cloneではツリー全体のコピーを作ることになります。こうすると当然、大きなソースツリーでサブモジュールをいくつも持つようなプロジェクトでは、サブモジュールの開発者にとってはいらないものまでコピーを持つことになります。gitではこのような状況に対応するためにsubmoduleという機能があります。これはあらかじめリポジトリを複数用意しておいて、都合のよいように接木して全体を構築するという仕組みです。うまくリポジトリを分けておきさえすれば、一部分が欲しい人はサブリポジトリだけcloneすればよいというわけです。
More Emacsでは本体以外はfeatureとupdate-siteくらいなので、1リポジトリにすべてをいれてしまいましたが、大きなものを作るときは事前に考えておかないといけないのですね。
この機能できれば、リポジトリを複数個つくるのではなく、かつてのCVSのようにリポジトリの直下に複数のモジュールという単位があってその下にブランチがあるとよかったなぁと思いました(見方を変えれば、複数のリポジトリをまとめるリポジトリクラスタのような機能)。現状の仕組みだとサブモジュール用のリポジトリを増やして接木しようと思ったときには、gitの外側にリポジトリを増やす仕組みを作らなければならないので面倒だなと。
ちゃんと調べたわけではないので、そういう拡張がすでになされているかもしれませんが。

egitその2 既存プロジェクトの認識

git cloneしてローカルに存在するプロジェクトを、egitに認識させる方法が分かりました。プロジェクトを通常通りインポートしてから、「プロジェクトの共用」を選ぶと「.git」が出てくるようです。