My HTTP repository has updates, which git clone misses. What happened?
If you push via SSH to the repository, you have to enable the post-update hook (chmod a+x hooks/post-update). If you “push” with rsync, you have to make sure to execute “git update-server-info” _before_ pushing. HTTP is a “dumb” transport, which needs some help. This help is provided in the form of the file info/refs, which contains the current refs (names + commit names of the tips). This is not an issue with servers using the smart HTTP transport added in git version 1.6.6. Smart HTTP will also provide a dynamically created info/refs file for older clients. See also git-http-backend(1).