diff -r 62098aeb1e15 -r 884946c002b8 hgext/largefiles/lfcommands.py --- a/hgext/largefiles/lfcommands.py Sun Jan 08 17:03:39 2012 +0100 +++ b/hgext/largefiles/lfcommands.py Sun Jan 08 17:06:34 2012 +0100 @@ -295,9 +295,24 @@ if f == '.hgtags': newdata = [] for line in data.splitlines(): - id, name = line.split(' ', 1) - newdata.append('%s %s\n' % (node.hex(revmap[node.bin(id)]), - name)) + try: + id, name = line.split(' ', 1) + except ValueError: + repo.ui.warn(_('skipping incorrectly formatted tag %s\n' + % line)) + continue + try: + newid = node.bin(id) + except TypeError: + repo.ui.warn(_('skipping incorrectly formatted id %s\n' + % id)) + continue + try: + newdata.append('%s %s\n' % (node.hex(revmap[newid]), + name)) + except KeyError: + repo.ui.warn(_('no mapping for id %s\n' % id)) + continue data = ''.join(newdata) return context.memfilectx(f, data, 'l' in fctx.flags(), 'x' in fctx.flags(), renamed)