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

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

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