# HG changeset patch # User Martin Geisler # Date 1283114760 -7200 # Node ID 7c3c44413bc1e66d13d318b3e52ac1efc8f475cd # Parent 2e7647d254582cb789679b28c9f7bd060707140b churn: do not crash on malformed lines in alias file diff -r 2e7647d25458 -r 7c3c44413bc1 hgext/churn.py --- a/hgext/churn.py Sun Aug 29 10:54:22 2010 +0200 +++ b/hgext/churn.py Sun Aug 29 22:46:00 2010 +0200 @@ -129,10 +129,14 @@ aliases = repo.wjoin('.hgchurn') if aliases: for l in open(aliases, "r"): - if not l.strip(): + try: + alias, actual = l.split('=' in l and '=' or None, 1) + amap[alias.strip()] = actual.strip() + except ValueError: + l = l.strip() + if l: + ui.warn(_("skipping malformed alias: %s\n" % l)) continue - alias, actual = l.split('=' in l and '=' or None, 1) - amap[alias.strip()] = actual.strip() rate = countrate(ui, repo, amap, *pats, **opts).items() if not rate: diff -r 2e7647d25458 -r 7c3c44413bc1 tests/test-churn --- a/tests/test-churn Sun Aug 29 10:54:22 2010 +0200 +++ b/tests/test-churn Sun Aug 29 22:46:00 2010 +0200 @@ -40,6 +40,7 @@ user1 alias1 user3 alias3 +not-an-alias EOF hg churn --aliases ../aliases echo % churn with .hgchurn diff -r 2e7647d25458 -r 7c3c44413bc1 tests/test-churn.out --- a/tests/test-churn.out Sun Aug 29 10:54:22 2010 +0200 +++ b/tests/test-churn.out Sun Aug 29 22:46:00 2010 +0200 @@ -16,10 +16,12 @@ user2 2 *************************************************************** user1 1 ******************************** % churn with aliases +skipping malformed alias: not-an-alias alias3 3 ************************************************************** alias1 3 ************************************************************** user2 2 ***************************************** % churn with .hgchurn +skipping malformed alias: not-an-alias alias3 3 ************************************************************** alias1 3 ************************************************************** user2 2 *****************************************