Does it only happen with empty repositories? If so, here is a patch (not forwarded upstream yet, as I honestly don't understand how their bug tracker work).
Description: Don't crash/close when exploring an empty repository Author: Thibaut Girka <[email protected]> Bug: http://www.logilab.org/ticket/20996 Forwarded: No
diff -r d43754c8e5b5 hgviewlib/qt4/hgrepomodel.py
--- a/hgviewlib/qt4/hgrepomodel.py Fri Jun 10 11:26:08 2011 +0200
+++ b/hgviewlib/qt4/hgrepomodel.py Sun Jun 26 13:02:45 2011 +0200
@@ -109,7 +109,8 @@
'Tags': lambda self, r: sorted(r.tags().keys(),
key=lambda x: len(x))[-1][:10],
'Branch': lambda self, r: sorted(r.branchtags().keys(),
- key=lambda x: len(x))[-1],
+ key=lambda x: len(x))[-1]
+ if r.branchtags().keys() else None,
'Author': lambda self, r: 'author name',
'Filename': lambda self, r: self.filename,
}
diff -r d43754c8e5b5 hgviewlib/qt4/hgrepoviewer.py
--- a/hgviewlib/qt4/hgrepoviewer.py Fri Jun 10 11:26:08 2011 +0200
+++ b/hgviewlib/qt4/hgrepoviewer.py Sun Jun 26 13:02:45 2011 +0200
@@ -458,11 +458,12 @@
def _getrepomtime(self):
"""Return the last modification time for the repo"""
- watchedfiles = [(self.repo.root, ".hg", "store", "00changelog.i"),
+ watchedfiles = [(self.repo.root, ".hg", "store"),
+ (self.repo.root, ".hg", "store", "00changelog.i"),
(self.repo.root, ".hg", "dirstate")]
watchedfiles = [os.path.join(*wf) for wf in watchedfiles]
mtime = [os.path.getmtime(wf) for wf in watchedfiles \
- if os.path.isfile(wf)]
+ if os.path.exists(wf)]
if mtime:
return max(mtime)
# humm, directory has probably been deleted, exiting...
signature.asc
Description: This is a digitally signed message part

