For a while now I have been using Mercurial for my own personal version control system, been very happy and never really got dissapointed so far, hg-serve works really easy for serving your repository publicaly with its own menus and stuff… not visually engaging but does the job well.

Ive been trying and little by little I guess moving the git way… mostly to be honest because the world around me seems to use it, and because I really cant be bothered to try and master to version control systems at once, so Mercurial seems great and maybe even better… but ill focus most of my time now on git.

Which leads me to my experience so far, so its pretty much the same syntax to be honest and leaves me quite happy.
But my problems have been on trying to serve my reps publicly, I wont even go on about configuring gitosis because that one has been giving me a bit of a headache to the honest.

But on a recent project I have been working on with a friend I wanted to do things right and have him be able to have pull rights to see the updates on the project as I go along. Well…. after many tries on using the git daemon and running into all sorts of nonsense errors, I decided to simply make a symlink to a protected directory on my www and have him clone/pull through http://

Well that worked well for the cloning, but then as I did my updates, on his end he kept seing “Already-up-to-date” which didnt quite seem right.

And all this post just to write a little tip if you are trying to do something similar…

Git has kind of like an event system called “hooks” (.git/hooks) which get triggered upon certain functions getting executed. So for my case I activated the hook ‘post-update’ which gets triggered when a push gets completed to the server and calls git to “update-server-info”, updating the needed information for pull’s to work as they should.

Ok so this was way of a bigger post then I expected… but I guess it makes for all the times I think about writting and then dont… duhhh! ;-)
In