Differences between revisions 1 and 2
Revision 1 as of 2010-02-03 21:01:26
Size: 1365
Comment: Initial information about caseguard
Revision 2 as of 2010-03-09 08:30:04
Size: 1568
Editor: abuehl
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
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) 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 blocks the addition of file with names that are likely to cause issues on case-insensitive filesystems and watches for special file names that are known to cause problems on Windows and Mac OS X.

Caseguard

This extension is not distributed with Mercurial.

Author: AlexandruTotolici

Download site: http://bitbucket.org/alexandru/caseguard

Tested with: Mercurial 1.4.3

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 blocks the addition of file with names that are likely to cause issues on case-insensitive filesystems and watches for special file names that are known to cause problems on Windows and Mac OS X.

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, rm and addremove commands. The extension blocks the operations that might cause CaseFolding collisions, but otherwise does not affect regular operation.

If you would like to see a list of problematic files, use the --verbose switch.

Other Solutions

Other approaches are outlined at CaseFolding.


CategoryExtensionsByOthers

CaseGuardExtension (last edited 2011-04-02 00:20:30 by GregWard)