Size: 1568
Comment:
|
← Revision 6 as of 2011-04-02 00:20:30 ⇥
Size: 2045
Comment: standard link terminology
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
Download site: [[http://bitbucket.org/alexandru/caseguard]] | Repository: http://bitbucket.org/alexandru/caseguard |
Line 10: | Line 10: |
Tested with: Mercurial 1.4.3 | Tested with: Mercurial 1.4.3, 1.5.1 |
Line 16: | Line 16: |
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. | It also watches and blocks the addition of file names that are known to cause problems on Windows. (i.e. AUX, COM1 etc) |
Line 21: | Line 21: |
* ''addremove'' only looks at files to be added, and does not consider ''file'' to be a renamed version of ''FILE'' | * `addremove` only looks at files to be added, and does not consider ''file'' to be a renamed version of ''FILE'' |
Line 25: | Line 25: |
Configure your .hgrc to enable the extension by adding following lines: | Configure your `.hgrc` to enable the extension by adding following lines: |
Line 34: | Line 34: |
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. | 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. |
Line 36: | Line 36: |
If you would like to see a list of problematic files, use the '''--verbose''' switch. | 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 || |
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.