churn: do not crash on malformed lines in alias file

This commit is contained in:
Martin Geisler 2010-08-29 22:46:00 +02:00
parent 1a68305741
commit bab69a5062
3 changed files with 10 additions and 3 deletions

View File

@ -129,10 +129,14 @@ def churn(ui, repo, *pats, **opts):
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:

View File

@ -40,6 +40,7 @@ cat > ../aliases <<EOF
user1 alias1
user3 alias3
not-an-alias
EOF
hg churn --aliases ../aliases
echo % churn with .hgchurn

View File

@ -16,10 +16,12 @@ user1 2 ******************************************
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 *****************************************