[2011-04-17 22:56:53]
>>>[git]
gitではまった
結論としては,
git init --bare --shared
の--sharedがついてなかったから
発端
RubyDropでファイルが共有されてないって言われたから,共有してるフォルダでgit statusとかgit pullとかgit pushしてみたら,
% git push Counting objects: 22, done. Delta compression using up to 2 threads. Compressing objects: 100% (17/17), done. Writing objects: 100% (17/17), 1.84 KiB, done. Total 17 (delta 10), reused 0 (delta 0) error: insufficient permission for adding an object to repository database ./objects fatal: failed to write object error: unpack failed: unpack-objects abnormal exit To hogehoge.com:/hoge/share ! [remote rejected] master -> master (n/a (unpacker error)) error: failed to push some refs to 'hogehoge.com:/hoge/share'
とか怒られました.
友達はpull,pushできたので,share用になってないんだな.と.chmod -R go+xsだけではだめなんですね.
途中から--shared付ける方法わからなかったので,リモートの適当な新しいディレクトリで
% sudo git init --bare --shared % sudo chmod -R go+xs .
して仮の新リポジトリを作って,手元(ローカル)のディレクトリで
% git remote add hoge hogehoge.com:/hoge/share % git push hoge master % git remote rm hoge
しました.これで仮のリポジトリが最新になったね.これをもとのbareリポジトリと入れ替えたら友達のところでも自分のところでもpush,pullできるようになりました.
RubyDropとかGritとかloggerとかひどい
- RubyDropでもDropboxみたいにポップアップ通知してほしいよね.ってことでGrowl対応したいね.
- Gritがuntrackedをしらべる時に,マルチバイト文字ファイル名に含まれてるとcommitされてpushされてもまたuntrackedになってるのをなんとかしたい.
内部構造みたら,数値参照とUTF-8の文字列が混ざってて比較して別のファイル名扱いになってるっぽい.
- あとloggerがログファイルのサイズでログローテートする時にファイルが見つからんとかほざいてローテーションに失敗しはる.hoge.logをhoge.log.0にローテートするのにhoge.log.0は無いに決まってるやん.
あれか,hoge.log.1を作る時に1-1 = 0番目をローテートしようとしてエラーになってるのか.納得バーカバーカ