caseguard, a Mercurial extension
I’ve unleashed caseguard upon the world, in an announcement to the Mercurial-devel mailing list sometime yesterday. I’m thankful for all the feedback, and I’ll keep improving this to make it as useful as possible.
What caseguard mainly does is protect users from adding certain files to the repository. Namely, while on Linux filesystems foo and FOO are different files, on Mac OS X’s HFS+ (in default mode) and on Windows filesystems the two are the same, so they’ll fold into one. This results in a case-folding collision, which messes up the repository. Caseguard simply protects users from adding files that would cause such problems in the first place (even though their own filesystem may allow it).
There’s additional protection for hg rm (don’t remove files if the case doesn’t match what the repository is tracking) and basic addremove support. The BUGS file will always have up-to-date information on known issues and limitations.
If you’d like to suggest further improvements or if you have any bugs you’d like to report, please use the BitBucket repository for caseguard (incidentally, that’s also where you can get the code from).