CakePHPのプラグインの導入にgit submoduleを使って入れているのですが、そうやって作った環境をzipで固めて他の人に渡すと、gitでエラーが出てしまいました。
調べて見るとsubmoduleの設定内容の一部(configのworktreeのパスなど)が絶対パスで書かれていたため、他の環境にそのまま持って行くとパスが合わないためエラーとなってしまっていました。
自分は、CygwinとUbuntu12のgitで試したのですが、どちらも1.7.9で、どちらも同様に絶対パスになりました。
それで色々とぐぐってみてもあまりこのことについて書いている人がいなくて… でもなんとかそれっぽいものを見つけました。
Git submodule absolute worktree path config - Stack Overflow
http://stackoverflow.com/questions/8925564/git-submodule-absolute-worktree-path-config
これによると、1.7.10では大丈夫だったよ、とのこと。
でもここでも書かれているように、1.7.9→1.7.10のリリースノート見てもsubmoduleのパスのことについてはなにも書かれていませんでした。
そこで、gitでgitのgitリポジトリを落としてきて、最新のgit-1.8.3.1をmake installして試してみました。
1.8だとなにもしなくてもちゃんとsubmoduleも相対パスで設定してくれました。
というわけで、submoduleを使う場合には最新の1.8系を使うのがベターなように思います。