Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2014-08-01 08:14:10
Size: 721
Editor: Josip Medved
Comment:
Revision 4 as of 2014-08-02 07:43:16
Size: 2146
Editor: Josip Medved
Comment: Added action
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This extension will remove the BOM from all UTF-8 encoded files. Resulting file will still be UTF-8 but without the pesky BOM bytes. This Mercurial extension will remove the BOM from all Unicode files. Resulting
file will be UTF-8 and without pesky BOM bytes.
Line 7: Line 8:
Line 16: Line 18:
Line 18: Line 21:
Following commands are added: This extension will modify all Unicode files with BOM (byte order mark) and
convert them to BOM-less UTF-8. This comes especially handy when dealing with
Microsoft's Visual Studio that is really UTF-8 BOM happy.
Line 20: Line 25:
 * `hg checkbom` to see if there are files starting with UTF-8 BOM.
 * `hg killbom` to remove any UTF-8 BOM found.
Extensions adds two commands (`killbom`, `checkbom`) and hooks into the commit
process.
Line 25: Line 30:
Configure your .hgrc to enable the extension by adding following lines:
To use it just add following in the `hgrc` or global Mercurial settings file:
Line 28: Line 34:
[extensions]
killbom = /path/to/killbom.py
    [extensions]
    killbom = /path/to/killbom.py
    
    [killbom]
    action = modify
    extensions = utf-8 utf-16le utf-16be utf-32le utf-32be
    maxsize = 1024
Line 31: Line 42:


 * `extensions` is a list of all Unicode encodings that will be recognized.
 * `maxsize` is maximum file size that will be processed (in kilobytes).
 * `action` can be either `modify` (default), `verify`, or `ignore`. If value is `modify` then files will be adjusted before the commit; if value is `verify` then commit will be aborted if there are Unicode files with BOM but files won't be modified; if value is `ignore` there won't be any action.


== Usage ==

Using `killbom` command will remove Unicode COM from all modified and newly
added files:

{{{
    hg killbom [options]
    
    options:
       -8 --utf8only removes only UTF-8 BOM signature
}}}


To just verify whether all files are BOM free, you would use `checkbom` command:

{{{
    hg checkbom [options]
    
    options:
       -8 --utf8only checks for only UTF-8 BOM signature
}}}


In addition there are three hooks. On `pretxncommit` and `pretxnchangegroup`
extension will verify whether all Unicode files are BOM-free and it will stop
commit if they are not. On `precommit` extension will modify files and remove
BOM.

KillBom

This Mercurial extension will remove the BOM from all Unicode files. Resulting file will be UTF-8 and without pesky BOM bytes.

1. Status

This extension is not distributed with Mercurial.

Author: Josip Medved

Repository: https://bitbucket.org/jmedved/hg-killbom

2. Overview

This extension will modify all Unicode files with BOM (byte order mark) and convert them to BOM-less UTF-8. This comes especially handy when dealing with Microsoft's Visual Studio that is really UTF-8 BOM happy.

Extensions adds two commands (killbom, checkbom) and hooks into the commit process.

3. Configuration

To use it just add following in the hgrc or global Mercurial settings file:

    [extensions]
    killbom = /path/to/killbom.py
    
    [killbom]
    action = modify
    extensions = utf-8 utf-16le utf-16be utf-32le utf-32be
    maxsize = 1024
  • extensions is a list of all Unicode encodings that will be recognized.

  • maxsize is maximum file size that will be processed (in kilobytes).

  • action can be either modify (default), verify, or ignore. If value is modify then files will be adjusted before the commit; if value is verify then commit will be aborted if there are Unicode files with BOM but files won't be modified; if value is ignore there won't be any action.

4. Usage

Using killbom command will remove Unicode COM from all modified and newly added files:

    hg killbom [options]
    
    options:
       -8 --utf8only  removes only UTF-8 BOM signature

To just verify whether all files are BOM free, you would use checkbom command:

    hg checkbom [options]
    
    options:
       -8 --utf8only  checks for only UTF-8 BOM signature

In addition there are three hooks. On pretxncommit and pretxnchangegroup extension will verify whether all Unicode files are BOM-free and it will stop commit if they are not. On precommit extension will modify files and remove BOM.

5. See also


CategoryExtensionsByOthers

KillBomExtension (last edited 2014-08-04 04:35:55 by Josip Medved)