Losing a file's history when it's modified <i>and</i> renamed via an IDE or plain ol' mv (as opposed to <i>git mv</i>) is one of my biggest pain points with Git - it tries to detect the renaming, but sufficient content modifications seem to break its algorithm.<p>It's a bit of a case of the tail wagging the dog when you find yourself coding in a certain style to please a version control tool.