== Caseguard == '''This extension is not distributed with Mercurial.''' ''Author: AlexandruTotolici'' Repository: http://bitbucket.org/alexandru/caseguard Tested with: Mercurial 1.4.3, 1.5.1 === Overview === caseguard is an extension that helps Mercurial users avoid case-folding collisions by verifying that the files they are adding to a repository differ in more than just case to anything that's already tracked (i.e. if the repo tracks ''file'', adding ''FILE'' will be blocked since it would cause a collision). It also watches and blocks the addition of file names that are known to cause problems on Windows. (i.e. AUX, COM1 etc) === Limitations === * This extension has not been tested on filenames containing characters outside the basic Roman set. * `addremove` only looks at files to be added, and does not consider ''file'' to be a renamed version of ''FILE'' === Configuration === Configure your `.hgrc` to enable the extension by adding following lines: {{{ [extensions] caseguard = /full/path/to/caseguard.py }}} === Usage === caseguard wraps the `add` and `addremove` commands by checking that the files to be added don't have case-insensitive equivalents in the repository already or have reserved names. For example, if file '''`foo`''' is tracked by the repository, and the user wants to add '''`FoO`''', caseguard will block. If you would like to see a list of problematic files, use the `--verbose` switch. To check an existing repository for issues, use `hg casecheck`. This will print out a list of problematic files, if any. ==== caseguard-specific options ==== || short || long || description || || -o || --override || add files regardless of possible case-collision problems || || -w || --nowincheck || do not check filenames for Windows incompatibilities || || -U || --unguard || completely skip checks related to case-collision problems || === Other Solutions === Other approaches are outlined at CaseFolding. ---- CategoryExtensionsByOthers