Recommit doesn't repair or strip tags...maybe it ought to strip them?
$ hg init p1.hg $ cd p1.hg $ echo hi > file1 $ hg ci -A -m file1 adding file1 $ cd .. $ hg clone p1.hg p2.hg updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd p2.hg $ echo hello >> file1 $ hg ci -m file1-again $ hg tag bad-tag $ hg log changeset: 2:6d7d250d3413 tag: tip user: dean.roehrich at sun.com date: Wed Apr 23 16:14:17 2008 -0500 summary: Added tag bad-tag for changeset 9a1f6b1a5805 changeset: 1:9a1f6b1a5805 tag: bad-tag user: dean.roehrich at sun.com date: Wed Apr 23 16:13:56 2008 -0500 summary: file1-again changeset: 0:91835499c77d user: dean.roehrich at sun.com date: Wed Apr 23 16:13:26 2008 -0500 summary: file1 $ hg recommit $ hg log -v -r tip >> .hgtags at 5ea5ace8aaac, line 1: tag 'bad-tag' refers to unknown node changeset: 1:5ea5ace8aaac tag: tip user: dean.roehrich at sun.com date: Wed Apr 23 16:16:53 2008 -0500 files: .hgtags file1 description: file1-again Added tag bad-tag for changeset 9a1f6b1a5805 Dean