ACPI administration advocacy advocacy advocacy opinion alsa apache apple apt aptitude audio authentication awk bash business cache calendar censorship commandline cron database debian desktop development disk dvd economics emacs email europe exim files firefox firewall flash foss freedom ftp fun git grub hardware hardware html images installation ipod kde kernel keyboard knoppix laptop latex locale lockin longlines microsoft mplayer multimedia mysql network nfs openbox openoffice opinion opinion partition pdf perl php politics postgresql printing privacy rant rxvt script scripting scsi security sed server shell siteadmin sitenews sitesoftware skype skype slackware sound spam ssh subversion sudo svk swap t23 t43 terminal text thinkpad thunderbird time timezone ubuntu users versioncontrol video windows wine wordpress wordprocessing xwindows xwindows youtube
I've been caught by git this a number of times:
The problem here is that git push seems like a natural thing to do but screws up your working directory on the remote side. Mercurial doesn't change the working directory, but neither does it silently rebase it and set you up to undo your changes if you're not careful. The problem here is a lack of safety and a lack of warning.
I like both the solutions presented there. That is, either having a separate branch on the 'server' for incoming or having a bare repository on the 'server'.