--- a/hgext/churn.py Mon Dec 13 11:52:52 2010 +0100
+++ b/hgext/churn.py Mon Dec 13 11:53:17 2010 +0100
@@ -62,6 +62,7 @@
key = getkey(ctx)
key = amap.get(key, key) # alias remap
+ key = key.strip() # ignore leading and trailing spaces
if opts.get('changesets'):
rate[key] = (rate.get(key, (0,))[0] + 1, 0)
else:
--- a/hgext/eol.py Mon Dec 13 11:52:52 2010 +0100
+++ b/hgext/eol.py Mon Dec 13 11:53:17 2010 +0100
@@ -11,18 +11,20 @@
configuration files. It uses two sections, ``[patterns]`` and
``[repository]``.
-The ``[patterns]`` section specifies the line endings used in the
-working directory. The format is specified by a file pattern. The
-first match is used, so put more specific patterns first. The
-available line endings are ``LF``, ``CRLF``, and ``BIN``.
+The ``[patterns]`` section specifies how line endings should be
+converted between the working copy and the repository. The format is
+specified by a file pattern. The first match is used, so put more
+specific patterns first. The available line endings are ``LF``,
+``CRLF``, and ``BIN``.
Files with the declared format of ``CRLF`` or ``LF`` are always
-checked out in that format and files declared to be binary (``BIN``)
-are left unchanged. Additionally, ``native`` is an alias for the
-platform's default line ending: ``LF`` on Unix (including Mac OS X)
-and ``CRLF`` on Windows. Note that ``BIN`` (do nothing to line
-endings) is Mercurial's default behaviour; it is only needed if you
-need to override a later, more general pattern.
+checked out and stored in the repository in that format and files
+declared to be binary (``BIN``) are left unchanged. Additionally,
+``native`` is an alias for checking out in the platform's default line
+ending: ``LF`` on Unix (including Mac OS X) and ``CRLF`` on
+Windows. Note that ``BIN`` (do nothing to line endings) is Mercurial's
+default behaviour; it is only needed if you need to override a later,
+more general pattern.
The optional ``[repository]`` section specifies the line endings to
use for files stored in the repository. It has a single setting,
@@ -46,6 +48,10 @@
[repository]
native = LF
+.. note::
+ The rules will first apply when files are touched in the working
+ copy, e.g. by updating to null and back to tip to touch all files.
+
The extension uses an optional ``[eol]`` section in your hgrc file
(not the ``.hgeol`` file) for settings that control the overall
behavior. There are two settings:
--- a/tests/test-churn.t Mon Dec 13 11:52:52 2010 +0100
+++ b/tests/test-churn.t Mon Dec 13 11:53:17 2010 +0100
@@ -139,3 +139,22 @@
$ hg churn
test 0
$ cd ..
+
+Ignore trailing or leading spaces in emails
+
+ $ cd repo
+ $ touch bar
+ $ hg ci -Am'bar' -u 'user4 <user4@x.com>'
+ adding bar
+ $ touch foo
+ $ hg ci -Am'foo' -u 'user4 < user4@x.com >'
+ adding foo
+ $ hg log -l2 --template '[{author|email}]\n'
+ [ user4@x.com ]
+ [user4@x.com]
+ $ hg churn -c
+ user1 4 *********************************************************
+ user3 3 *******************************************
+ user4@x.com 2 *****************************
+ user2 2 *****************************
+ with space 1 **************