I encountered this problem when using a Ubuntu share that was mounted with Finder. It makes '._'-copies of every file in the tree and if you're not careful enough, they end up in your version control, too.
find . -iname '._*' -exec rm -rf {} \; did the trick for me. (And adding a '._*'-pattern to .hgignore file.)