churn: split email aliases from the right
authorMatthew Turk <matthewturk@gmail.com>
Wed, 17 Jul 2013 10:40:40 -0400
changeset 19464 68f7129af6a8
parent 19463 f3393d458bf5
child 19465 004f965630d9
churn: split email aliases from the right This splits churn email aliases from the right, to enable incorrectly-specified addresses that include equal signs to be mapped to correct addresses. This will enable aliasing of bad addresses (typically typos) such as: sername=myusername that appear in the churn output through a churn alias such as: sername=myusername = myusername whereas previously splitting from the left would not enable this behavior.
hgext/churn.py
--- a/hgext/churn.py	Sun Jul 14 05:35:04 2013 +0400
+++ b/hgext/churn.py	Wed Jul 17 10:40:40 2013 -0400
@@ -121,6 +121,7 @@
 
     Such a file may be specified with the --aliases option, otherwise
     a .hgchurn file will be looked for in the working directory root.
+    Aliases will be split from the rightmost "=".
     '''
     def pad(s, l):
         return (s + " " * l)[:l]
@@ -132,7 +133,7 @@
     if aliases:
         for l in open(aliases, "r"):
             try:
-                alias, actual = l.split('=' in l and '=' or None, 1)
+                alias, actual = l.rsplit('=' in l and '=' or None, 1)
                 amap[alias.strip()] = actual.strip()
             except ValueError:
                 l = l.strip()