Question: We're having a compatibility problem between Mercurial and another synchronization product (MS Office Groove, now Sharepoint Workspace 2010). Basically, the ".hg" folder and ".hgignore" files are being blocked (I've [summarized the issue](http://social.msdn.microsoft.com/Forums/en-US/sharepoint2010general/thread/250186e3-175e-4b1e-af0d-67d9ef10749b) with the other software).

We've been told that the only work-around is to change the name of the folder. Is there any way to modify Mercurial's naming convention for the database folder and ignore file? From what I understand, I'd just need to make the names more "normal" by adding a prefix. Sort of a "Hail Mary" but thought I'd ask.

Answer: 
You can use a different file name for .hgignore (or more accurately have no .hgignore and then use an `ignore=` line in your `hg/hgrc` file to reference an additional ignore file with whatever name you want). However you can't use an alternative name for `.hg` itself.

As Lasse suggests you shouldn't be synchronizing `.hg` directories externally anyway. Their read/write/lock semantics are very specific and the only reading/writing to them should be via hg itself. It's **very** easy to set up a cron job that automatically pushes to a backup repo as often as you'd like.
The names are hard-coded in the Mercurial source, search for occurrences of `".hg"` and `".hgignore"` (for added safety, also using single quotes). However, since a typical Mercurial installation provides the Mercurial source code, it's easy to change this to anything you prefer.