diff -r e4cfdff6d3f4 -r 001788ef4bbb mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Jun 16 01:58:00 2011 +0200 +++ b/mercurial/localrepo.py Wed Jun 15 23:15:04 2011 +0300 @@ -272,7 +272,9 @@ try: fp = self.wfile('.hgtags', 'rb+') - except IOError: + except IOError, e: + if e.errno != errno.ENOENT: + raise fp = self.wfile('.hgtags', 'ab') else: prevtags = fp.read()