#10908 closed defect (fixed)
AttributeError: 'changectx' object has no attribute 'bookmarks'
Reported by: | r.rossmair | Owned by: | Christian Boos |
---|---|---|---|
Priority: | normal | Milestone: | plugin - mercurial |
Component: | version control/changeset view | Version: | 1.0-stable |
Severity: | normal | Keywords: | Mercurial |
Cc: | r.rossmair | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description (last modified by )
This error is issued by TracMercurial 1.0.0.3dev every time I want to view a changeset. Used to work until recently, apparently a Trac or TracMercurial update broke things.
Trac revision is 11406.
While doing a GET operation on /changeset/b6da56b443c458c07b51b720f9a2e777deff6beb/visureal-classic
, Trac issued an internal error.
Request parameters:
{ new : u b6da56b443c458c07b51b720f9a2e777deff6beb , new_path : u /visureal-classic }
User agent: Mozilla/5.0 Windows NT 6.1; WOW64; rv:17.0 Gecko/17.0 Firefox/17.0
System Information
Trac
1.0.1dev-r0
Babel
0.9.6
Genshi
0.6 without speedups
Mercurial
1.6.4
mod_wsgi
3.3 WSGIProcessGroup WSGIApplicationGroup %{GLOBAL}
Pygments
1.3.1
pysqlite
2.6.0
Python
2.6.6 r266:84292, Dec 27 2010, 00:18:12
brGCC 4.4.5
setuptools
0.6
SQLite
3.7.3
Subversion
1.7.7 r1393599
jQuery
1.7.2
Enabled Plugins
TracMercurial | 1.0.0.3dev
|
Python Traceback
Traceback most recent call last : ... File /usr/local/lib/python2.6/dist-packages/Trac-1.0.1dev_r0-py2.6.egg/trac/versioncontrol/web_ui/changeset.py , line 427, in _render_html revprops chgset.get_properties File /usr/local/lib/python2.6/dist-packages/TracMercurial-1.0.0.3dev-py2.6.egg/tracext/hg/backend.py , line 1223, in get_properties bookmarks self.ctx.bookmarks AttributeError: changectx object has no attribute bookmarks
Attachments (0)
Change History (6)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
Milestone: | → plugin - mercurial |
---|---|
Owner: | set to |
Status: | new → assigned |
Well, Mercurial 1.6.4 is a bit too old for the newest version of the plugin. I see that we still have compatible with ≥ 1.1.x written in TracMercurial however.
We can add a check in the code for the presence of the bookmarks method, but I wonder if you're not going to run into other issues…
comment:3 by , 12 years ago
The following quick hack works…
-
tracext/hg/backend.py
diff -r 62e59cafa3de tracext/hg/backend.py
a b 1214 1214 tags = self.get_tags() 1215 1215 if len(tags): 1216 1216 properties['hg-Tags'] = (self.repos, tags) 1217 bookmarks = self.ctx.bookmarks() 1217 bookmarks = self.ctx.bookmarks() if hasattr(self.ctx, 'bookmarks') \ 1218 else () 1218 1219 if len(bookmarks): 1219 1220 properties['hg-Bookmarks'] = (self.repos, bookmarks) 1220 1221 for k, v in self.ctx.extra().iteritems():
Maybe someone has a better idea for checking for bookmark support, if not I'll commit something like that.
comment:4 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
(Another) quick hack committed as [8df754d9b36a/mercurial-plugin].
comment:5 by , 12 years ago
PS: don't hesitate to open other tickets if you find other problems with Mercurial 1.6.4, as it's been a while I haven't test the older versions.
comment:6 by , 12 years ago
Thank you, that did it.
Mercurial 1.6.4 is the package version in Debian squeeze. I'm thinking about installing the package from backports however, given that with 1.6.4 apparently problems are more likely to arise.
Fixing the "newline character is missing from my charset" issue in the description…