diff mercurial/hg.py @ 477:520540fd6b64

Handle errors in .hgtags or hgrc [tags] section more gracefully. -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Handle errors in .hgtags or hgrc [tags] section more gracefully. manifest hash: 85c62e1bf3ad78b243ee60f43c3c577700a8c96d -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFCvp6jW7P1GVgWeRoRAo23AKCZRU22IweynNtf9k3q4pEyqEaozACeMIRV 6tNOkr3h6jTiMZ2bJgPeabg= =+U5s -----END PGP SIGNATURE-----
author Thomas Arendsen Hein <thomas@intevation.de>
date Sun, 26 Jun 2005 13:25:07 +0100
parents 4c7f687e4313
children 934279f3ca53
line wrap: on
line diff
--- a/mercurial/hg.py	Sun Jun 26 12:04:59 2005 +0100
+++ b/mercurial/hg.py	Sun Jun 26 13:25:07 2005 +0100
@@ -373,7 +373,7 @@
 
     def tags(self):
         '''return a mapping of tag to node'''
-        if not self.tagscache: 
+        if not self.tagscache:
             self.tagscache = {}
             try:
                 # read each head of the tags file, ending with the tip
@@ -386,11 +386,20 @@
                     for l in fl.revision(r).splitlines():
                         if l:
                             n, k = l.split(" ", 1)
-                            self.tagscache[k.strip()] = bin(n)
-            except KeyError: pass
+                            try:
+                                bin_n = bin(n)
+                            except TypeError:
+                                bin_n = ''
+                            self.tagscache[k.strip()] = bin_n
+            except KeyError:
+                pass
             for k, n in self.ui.configitems("tags"):
-                self.tagscache[k] = bin(n)
-                
+                try:
+                    bin_n = bin(n)
+                except TypeError:
+                    bin_n = ''
+                self.tagscache[k] = bin_n
+
             self.tagscache['tip'] = self.changelog.tip()
 
         return self.tagscache
@@ -398,7 +407,7 @@
     def tagslist(self):
         '''return a list of tags ordered by revision'''
         l = []
-        for t,n in self.tags().items():
+        for t, n in self.tags().items():
             try:
                 r = self.changelog.rev(n)
             except: