Team Chat Logs

February 4, 2010

2010 1
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28

[00:06:20.624536]<Sp4rKy>Hi
[00:06:37.628593]<Sp4rKy>I would know if it's possible to "cross" tracs for tickets , exemple :
[00:06:46.250921]<Sp4rKy>i have 2 tracs on /foo and /bar
[00:07:16.624795]<Sp4rKy>I would that, when a ticket is created/edited on /bar, a "reference" of this ticket is also created on /foo
[00:07:36.615305]<Sp4rKy>so that editing the ticket on /foo will also edit it on /bar
[00:39:24.079821]<macmaN>hmm, is it possible to have linefeeds with no empty lines in the wiki
[00:41:35.136421]<macmaN>in paragraph rendering
[01:06:19.772721]<gozerbot>trac: Ticket #8876 (Disallow web robots indexing of Base Documentation Pages) closed - <http://trac.edgewall.org/ticket/8876#comment:4> || Changeset [9137]: Forbid robots to index default wiki pages (actually anything last modified ... - <http://trac.edgewall.org/changeset/9137> || TracRepositoryAdmin created - <http://trac.edgewall.org/wiki/TracRepositoryAdmin?version=1>
[01:06:24.730686]<gozerbot> || Ticket #9029 (Don't let robots index wiki edit and history pages) closed - <http://trac.edgewall.org/ticket/9029#comment:1> || Changeset [9136]: TracRepositoryAdmin help page: set x-trac-wiki mime-type. - <http://trac.edgewall.org/changeset/9136> || Changeset [9135]: Forbid robots to index Wiki history pages and edited pages. Patch by ... - <http://trac.edgewall.org/changeset/9135> (+1)
[01:36:24.077138]<gozerbot>trac: Changeset [9145]: l10n: renamed vi_VN to vi (ISO 639-1) - <http://trac.edgewall.org/changeset/9145> || Changeset [9144]: l10n: renamed fa_IR to fa (ISO 639-1) - <http://trac.edgewall.org/changeset/9144> || Changeset [9143]: l10n: renamed it_IT to it (ISO 639-1) - <http://trac.edgewall.org/changeset/9143> || Changeset [9142]: l10n/sv: Swedish catalog updated by
[01:36:29.043364]<gozerbot> Jonas Lind. - <http://trac.edgewall.org/changeset/9142> || Ticket #9028 (move trac.util.hml.Deuglifier to tracopt) closed - <http://trac.edgewall.org/ticket/9028#comment:2> || Changeset [9141]: l10n: renamed sv_SE to sv (ISO 639-1) - <http://trac.edgewall.org/changeset/9141> || Changeset [9140]: l10n/el: Greek catalog updated by Aristotelis Mertis - <http://trac.edgewall.org/changeset/9140> (+1)
[02:06:20.879194]<gozerbot>trac: Changeset [9148]: l10n: finish the restructuration of trac/locale to use the simpler ISO ... - <http://trac.edgewall.org/changeset/9148> || Changeset [9147]: l10n: renamed fi_FI to fi (ISO 639-1) - <http://trac.edgewall.org/changeset/9147> || Changeset [9146]: l10n: renamed nb_NO to nb (ISO 639-1) - <http://trac.edgewall.org/changeset/9146>
[02:25:09.825395]<otaku42>moin
[02:36:23.337993]<gozerbot>trac: Ticket #9030 (ValueError: invalid literal for int() with base 10: '') created - <http://trac.edgewall.org/ticket/9030> || Changeset [9149]: l10n: cleared a few messages that caused catalog compilation errors. - <http://trac.edgewall.org/changeset/9149>
[03:06:20.991238]<gozerbot>trac: Ticket #9030 (ValueError: invalid literal for int() with base 10: '') closed - <http://trac.edgewall.org/ticket/9030#comment:1>
[03:36:21.665066]<gozerbot>trac: Changeset [9150]: l10n: follow-up to [9148] - <http://trac.edgewall.org/changeset/9150>
[03:46:19.209498]<sat567>when i am using ./_autosetup for installating boinc server ..it showing "Checking version of 'autoreconf' >= 258... failed. (213)" and "Couldn't find a new-enough version of 'autoreconf', please install one!"
[03:47:28.318061]<sat567>but i can only find 'autoconf' package not 'autoreconf' over the net
[03:59:12.655522]<otaku42>@wrongchannel
[03:59:12.706037]<evil_twin>wrongchannel is This channel is for Trac, the project management software. You are probably looking at the website of a project that uses Trac to run their operations. Chances are we don't know anything about their project, but try looking on their website for more specific support instructions. /list will usually show you a list of all channels on this IRC server, and you
[03:59:17.705058]<evil_twin> can also try looking there.
[03:59:19.739190]<otaku42>sat567: see above.
[04:00:14.187492]<sat567>ok sorry
[05:06:22.532473]<gozerbot>trac: Ticket #9031 (Trac browser locked up) created - <http://trac.edgewall.org/ticket/9031>
[05:36:23.284820]<gozerbot>trac: Ticket #9031 (Trac browser locked up) closed - <http://trac.edgewall.org/ticket/9031#comment:4>
[06:06:23.408768]<gozerbot>trac: Changeset [9151]: Fix `CachedRepository.sync_changeset`, missing repos argument to Changeset ... - <http://trac.edgewall.org/changeset/9151>
[06:27:52.247610]<hal>guys, using the custom query, is there any way to list active tickets that a specific person has replied to (ie ones that I myself have replied to)?
[06:36:23.936777]<gozerbot>trac: Changeset [9153]: l10n: new automatic extraction - <http://trac.edgewall.org/changeset/9153> || Changeset [9152]: l10n: a few fixes for errors reported by msgfmt. The only problems left ... - <http://trac.edgewall.org/changeset/9152>
[07:33:36.390737]<Morbus>g'day. i know nothing about python, much less about eggs. i'm trying to create a simple Trac plugin. i've taken an existing plugin, unzipped the egg, modified all teh EGG-INFO crap and the relevant scripts... rezipped it, renamed to .egg, stuck it in my lcoal trac plugins dir, and it's not showing up in the trac plugin list. what's the first thing i should look for?
[07:34:48.089784]<Morbus>this is the plugin i'm modifying: https://svn.jetheis.com/public/TracSubPages/trunk/
[07:34:52.238628]<Morbus>there are no entry-points defined for it.
[07:35:13.873007]<Morbus>oh, yes, there is. mmm. thanks.
[07:36:23.480104]<cmc>let me give you the workflow that I use
[07:37:21.900423]<Morbus>still not showing up. bugger.
[07:38:28.868428]<cmc>start tracd with debug logging and logging set to stderr. Use the -r flag (if you don't you'll need to restart the daemon whenever you make a change)
[07:39:01.875498]<Morbus>cmc: my trac is running through apache...
[07:39:37.254220]<cmc>for rapid development, I highly suggest using tracd while developing, and push to the "live" apache install
[07:39:52.299193]<hal>guys, using the custom query, is there any way to list active tickets that a specific person has replied to (ie ones that I myself have replied to)?
[07:39:55.053140]<Morbus>can i run a tracd against the same db without things going kablooey?
[07:40:10.454258]<cmc>whenever you make a change to a plugin on trac running apache, you need to restart apache
[07:40:26.884081]<Morbus>cmc: that's ok for me, really, but if i can't get debugging through it...
[07:41:05.523929]<cmc>http://trac.edgewall.org/wiki/TracIni#logging-section
[07:41:14.185434]<cmc>you can log to a file if you'd like
[07:41:45.226370]<cmc>in any event, debug logging helps debug ;)
[07:41:52.179635]<Morbus>aye.
[07:42:10.985234]<Morbus>i don't know the first thing about setting up python eggs or anything, so i'm just trying ti pusgh my simple 20 line script into an existing egg.
[07:42:28.491948]<cmc>also, give yourself TRAC_ADMIN permission; when there's an exception, you'll get a backtrace if you have this permission
[07:42:35.708759]<Morbus>already have it, yeah.
[07:42:47.030990]<cmc>so, the workflow: ( :) )
[07:43:15.266488]<cmc>take the plugin you got from trac hacks, unzip it. chmod o+r recursively
[07:43:32.029750]<cmc>er u+r :)
[07:44:00.962568]<cmc>now, cd into the 0.11 directory (or whichever directory has setupy.py)
[07:44:14.868461]<cmc>do: $ python setup.py bdist_egg
[07:44:49.522751]<cmc>that will make an egg for you in the dist/ directory
[07:45:04.161388]<Morbus>k, got logging setup.
[07:45:09.150205]<cmc>cp that egg into your project environment's "plugins" directory
[07:45:17.551283]<cmc>restart apache. done!
[07:45:29.904675]<Morbus>right, but i want to create my own plugin.
[07:45:50.855653]<cmc>right! modify the code, then run python setup.py and the other steps forward
[07:46:34.119233]<Morbus>okeedoo.
[07:46:46.015304]<Morbus>it better work.
[07:46:49.218403]*Morbus shakes fist.
[07:46:49.803247]<Morbus>;)
[07:46:55.659462]<cmc>;)
[07:47:43.377852]<cmc>the "entry points" or whatever they are called in setup.py are places that Trac should be aware of (usually because they implement one of the Trac-specific interfaces)
[07:47:57.997519]<cmc>they can reference other files as needed
[07:49:10.319207]<cmc>I come from a PHP background, so I'm probably not using the proper terminology :)
[07:49:49.827304]<Morbus>yeah. me too.
[07:49:59.527267]<Morbus>well, perl first, then php.
[07:50:06.968709]<Morbus>using trac to manage a php project.
[07:50:11.311786]<cmc>python's not so bad once you get used to it
[07:50:18.494490]<Morbus>i can't stand it.
[07:50:31.043073]<Morbus>indents as syntax, force floating to get a damn decimals, etc.
[07:50:42.150729]<Morbus> cent_mt_fails = str(int(float(num_mt_fails) / float(num_tests) * 100)) + '%'
[07:50:47.297769]<Morbus>drives me up a fricken' wall.
[07:50:48.585212]<Morbus>;)
[07:51:24.257190]<cmc>haha. it offers a lot of perks. functions as objects, @property "decorations", generators, etc.
[08:01:42.251011]<Morbus>cmc: gasp, well, i'm furhter along than i was.
[08:01:45.330375]<Morbus>it shows up in the plugins page now.
[08:02:11.629316]<cmc>great
[08:02:20.078656]<cmc>see, not too hard
[08:02:54.253327]<Morbus>now to try it o... OH GOD WHAT THE HELL HAPPENED>
[08:03:04.491185]<Morbus>;)
[08:03:13.842848]<cmc>the raptors, they are eating my face!
[08:03:29.637461]<Morbus>forgot to bring over an import from my local script.
[08:03:39.338150]<Morbus>somewhere, this is python's fault, not mine.
[08:05:06.346389]<Morbus>hrmz.
[08:05:22.598004]<Morbus>with python, do i have to import a library as close to the using .py as possible?
[08:05:30.422596]<Morbus>my __init.py__ has import re\n import macro
[08:05:35.703004]<Morbus>my macro.py uses the re
[08:05:53.597402]<Morbus>(global name 're' is not defined is the error i'm seeing on the trac page when using the macro)
[08:07:01.727104]<cmc>I think the packages need to be imported in the file that they are used, but I'm not positive, sorry
[08:07:05.665045]<Morbus>sweet, that was it, and it works!
[08:08:09.707860]*Morbus goes to put python on his resume now <g>
[08:08:25.275139]<cmc>haha
[08:09:32.615034]<hal>honestly, I really am interested in knowing this! ;-)
[08:09:38.718733]<hal>Using the custom query, is there any way to list active tickets that a specific person has replied to (ie ones that I myself have replied to)?
[08:09:49.372228]<Morbus>not that i know of.
[08:10:05.964944]<cmc>how do you mean "replied to"?
[08:10:06.261646]<Morbus>oh, you could probably do it with a custom sql query, perhaps.
[08:10:17.124590]<cmc>yeah, I'd think a custom query would work
[08:10:30.564841]<Morbus>i might be able to give you a starting query to modify. hold.
[08:11:16.688255]<Morbus>http://pastebin.com/m508c4c71
[08:11:25.972935]<Morbus>this is based on the timing and estimation plugin.
[08:11:40.550676]<Morbus>when someone adds hours to a ticket, it gets represented as a trac ticket comment.
[08:11:52.580359]<Morbus>(here, represented as the join on ticket_custom with field billable)
[08:12:04.381711]<Morbus>er, field hours rather.
[08:13:07.329039]<Morbus>in your case, i bet you could a) change ticket_custom to ticket_change, b) change field hours to field comment.
[08:13:15.253552]<Morbus>knowing sql will help.
[08:13:21.440128]<cmc>hehe
[08:13:22.527942]<Morbus>but pretty sure it'd be possiblel
[08:15:13.348384]<Morbus>cmc: if a plugin takes a wiki page name as a argument, is there a way to use the current page if that argument is not passed?
[08:15:20.262919]<Morbus> def expand_macro(self, formatter, name, content):
[08:15:20.378039]<Morbus> num_args = len(content.split(','))
[08:15:20.446030]<Morbus> wiki_page = content.split(',')[0].strip()
[08:15:22.156620]<Morbus>is the current code.
[08:15:34.516556]*Morbus hunts around for the pageoutline source code.
[08:17:08.223374]<cmc>hmm, if you ever see a reference to "req" in the macro stuff, that can get you the current page
[08:17:23.698044]<Morbus>http://trac.edgewall.org/browser/trunk/trac/wiki/macros.py
[08:17:27.516208]<Morbus>i' looking around line 277
[08:18:10.636897]<Morbus>the only thing in here that looks remotely relevant is self.env.
[08:18:13.200690]<Morbus>bbut nothing about req.
[08:18:42.770466]<cmc>looks like formatter has the req
[08:18:51.717988]<Morbus>formatter.context?
[08:19:21.855112]<cmc>It's references as formatter.req on line 65
[08:19:50.880192]<cmc>req is the request, it should have information about the current user
[08:19:58.879393]<Morbus>mm.
[08:20:01.792102]<cmc>I will be back in a moment
[08:20:23.746263]<cmc>sorry, current user, current page, etc.
[08:21:27.803333]<Morbus>hrm. i wonder if formatter.source is it...
[08:21:34.197589]<Morbus>line 297 in macros.py: OutlineFormatter(self.env, formatter.context).format(formatter.source,
[08:21:51.261332]<Morbus>line 1252 in formatter.py: def format(self, text, out, max_depth=6, min_depth=1):
[08:22:00.331901]<Morbus>formatter.source == text.
[08:22:04.034015]<Morbus>seems like a winnah
[08:22:30.401137]*Morbus will give it a try after he gets outta teh shower.
[08:48:09.196041]<hal>Morbus: were you answering me when you posted the sql?
[08:48:15.054606]<Morbus>hal: yes.
[08:48:38.610029]<hal>cmc: when I said replied to, I meant the ticket was raised, and I used the "reply" link next to one of the comments
[08:49:15.647614]<hal>thank you Morbus - I don't have admin rights over the server tho
[08:49:29.475146]<Morbus>hal: so you cannot create new custom reports?
[08:49:30.263590]<hal>Morbus: so it definitely requires some custom code, does it?
[08:49:37.582928]<Morbus>it requires the ability to create a custom report.
[08:49:46.149659]<Morbus>which is a trac admin perm.
[08:49:52.527989]<hal>Morbus: let me enquire...
[08:50:05.604663]<Morbus>but, yeah, even with that, you'd be looking to modify the report manually if you wanted to check a different user, etc.
[08:50:13.273750]<Morbus>it's not something that you could hook into the tradiitonal custom query builer.
[08:50:15.022178]<Morbus>builder.
[08:52:23.104468]<hal>Morbus: so you can't do it through the standard web interface - you'd have to actually create files on the server with the script in?
[08:52:30.937136]<Morbus>no, no.
[08:52:39.578194]<Morbus>there are two different types of trac ticket reports.
[08:52:55.438008]<Morbus>ones that are "canned" - what you'd see when you first go to View Tickets.
[08:53:07.434759]<Morbus>and then ones that are custom - what you'd build as an end-user if you went to Custom Query.
[08:53:25.293614]<Morbus>you would need the ability to create a new "canned" ticket report, one that would show up at trac/report.
[08:53:40.047421]<Morbus>this new report would require that you know the SQL to get the data you want.
[08:53:51.801186]<Morbus>it would not, nor could, ever be part of the Custom Query functionality.
[08:54:04.318433]<Morbus>creating new canned reports requires a trac admin permission.
[08:54:14.413771]<hal>Morbus: but then I wouldn't be able to change the name of the person I am searching for, would I?
[08:54:15.099728]<Morbus>no new files are needed, or modified, on the server, to create a new canned report.
[08:54:27.166884]<Morbus>hal: well, you would/could if you continued to have access to *edit* canned reports.
[08:54:39.557346]<Morbus>you'd write your canned report for user A, and if you wanted user B, you'd edit the canned report.
[08:54:46.649658]<Morbus>or, alternatively, you could create canned reports for all your users.
[08:54:55.830008]<hal>Morbus: oh, no, this has to be dynamic so that everyone can use it
[08:54:57.955294]<Morbus>or, altneratively, create one canned report that shows all comment replies, grouped by users.
[08:55:13.881823]<Morbus>yeah, so you'd want to make a canned report like trac/report/4
[08:55:14.737702]<hal>hmm
[08:55:17.470798]<Morbus>({4} Accepted, Active Tickets by Owner (23 matches)
[08:55:17.549209]<Morbus>)
[08:55:26.711741]<Morbus>only it'd be tickets commented on, by commenter
[08:55:28.172290]<Morbus>in essence.
[08:55:28.274828]<hal>let me see if there is one currently
[08:55:34.206908]<Morbus>there isn't.
[09:09:29.147039]<hal>thank you for going to the trouble of explaining that Morbus
[09:09:37.548503]<hal>i have forwarded the info to our admins
[09:09:48.981252]<Morbus>cmc: oh, and formatter.source is right, too.
[09:10:05.603903]<cmc>hal: you can also use a query parameter
[09:10:26.556781]<hal>what is that cmc ?
[09:10:35.522882]<cmc>trying to find documentation now, one moment
[09:10:53.041631]<cmc>http://trac.edgewall.org/wiki/TracReports#AdvancedReports:DynamicVariables
[09:12:01.051226]<cmc>I use that in a few places when I can't use filters. I have a wiki page which contains raw html which posts to the report
[09:14:40.783240]<Morbus>yeah.
[09:14:48.745762]<Morbus>i've done that too.
[09:15:10.741499]<Morbus>would cover you if you wanted to do a single report for one user, and then build a wiki page that showed all your users, just changing the variable on the report.
[09:29:41.037664]<reedjc>how to get tickets to depend on other tickets? I am currently doing "This is depends on ticket #28." and the # becomes a link to that ticket number. But I can still close this ticket even if #28 is not closed. And #28 doesn't have any indication that other tickets are waiting on it.
[09:30:05.097952]<reedjc>I see a few Track tickets discussing this, but I haven't tried any patches there yet. I was hoping some workaround exists now.
[09:38:59.126486]<hal>oh, another question has occured to me..
[09:39:21.452820]<hal>is it possible to add a column to the custom query that shows the time that the tickets were last updated?
[09:39:32.553521]<hal>I guess the answer is no, tho
[09:40:21.337431]<Morbus>correct, but you can do that with a custom report ;)
[09:43:57.889711]<hal>hehe- those blinking custom reports!!! ;-)
[09:44:06.813828]<cmc>reedjc: I'm not sure if the masterticket plugin does what you want
[09:50:43.523395]<reedjc>cmc: thanks. I am reading about it
[09:51:16.812721]<cmc>I don't know if it actually prevents closing, though I think you could add that with a custom plugin
[12:06:28.841349]<gozerbot>trac: Ticket #9032 ([PATCH] Permission system slow with multiple calls) created - <http://trac.edgewall.org/ticket/9032>
[13:25:48.143158]<RichardLynch>I did svnadmin create /var/svn. I did trac-admin /var/www/html/trac/foo initenv; trac-admin /var/www/html/trac/bar initenv; I did svn co svn://example.com/var/svn; The repo has directories 'foo' and 'bar' in it. Alas, those being sub-dirs of the one true repo, the commit hook only passes in "/var/svn", so I don't know which svn directory to tie to which Trac project/ticket... Do I *have* to wipe my svn repo and make a foo repo and a bar repo? Or i
[13:30:46.996004]<cmc>you got cut off at 'Or i'
[13:31:05.317585]<cmc>set the tracini to use /var/svn/foo in one and /var/svn/bar in the other
[13:32:45.914132]<cmc>http://trac.edgewall.org/wiki/TracEnvironment#SourceCodeRepository for an explanation of source scope
[13:37:00.729131]<RichardLynch>cmc: I have the trac.ini set up like that. But svn itself does not have /var/svn/foo as the arg to pass in post-commit. I'm logging $1 $2 $3 $4, and getting just /var/svn and ### (svn revision #)
[13:38:05.461579]<cmc>which commit hook are you looking at?
[13:38:37.287662]<RichardLynch>Both subversion commit-hook bash script and trac/contrib/trac-post-commit* Take your pick :-)
[13:38:58.765706]<cmc>ah I see I see
[13:39:09.785115]<RichardLynch>Ooooh. Maybe there's another $5 arg that has the full path or something. Let me check...
[13:39:26.385711]<cmc>I think you'd have to use svnlook or whatever to see which files were updated
[13:39:58.068642]<RichardLynch>I could wipe out /var/svn "one repo to rule them all" and make separate repo per project... Just didn't want to duplicate svn authentication for no real reason. :-)
[13:40:50.863354]<RichardLynch>I'm only on revision 45+8, of which about 42 were futzing with svn->trac integration :-v
[14:33:36.149309]<XoniX>I like to run trac standalone but how can i add a admin account ?
[14:35:40.334193]<cmc>XoniX, you mean tracd?
[14:35:46.147590]<XoniX>yes :)
[14:36:45.245107]<cmc>have you set up your authentication?
[14:37:10.678433]<cmc>(htpasswd)
[14:37:30.737755]<XoniX>ok i found the part about http pass :) thanks
[14:37:57.271258]<cmc>once that's done you can give yourself TRAC_ADMIN permission via the command line using trac-admin
[14:38:12.053795]<XoniX>ok
[14:38:21.217716]<XoniX>--basic-auth=myprojectname ?
[14:39:47.482535]<cmc>mine is: --basic-auth=trac,/full/path/to/.htpasswd,/full/path/to/trac
[14:41:10.278723]<XoniX>ok thanks
[14:48:19.820923]<XoniX>/usr/share/pyshared/trac ?
[15:01:22.215258]<cmc>sorry, /full/path/to/trac/environment :)
[15:04:12.777611]<XoniX>how can i find the enviroment ?
[15:04:56.247544]<RichardLynch>I have setup Trac 0.11 with WebAdmin with HTTP Basic Auth, and am logged in. I have installed TracWebAdmin 0.1.2dev from tracHacks. When I try to configure TracWebAdmin in the plugins and turn ProjectAdminPage "Enabled", I get this in the logs: The legacy TracWebAdmin plugin has been automatically disabled, and the integrated administration interface will be used instead. The UI says "Your changes have been saved." However, the TracWebAdmin box rev
[15:05:52.529583]<cmc>XoniX, it's the path where you initially did trac-admin initenv /some/path
[15:06:22.473176]<cmc>if you installed it via a package, it's probably at /var/trac/something or /etc/trac/something
[15:07:19.632223]<XoniX>its the same path like my project ?
[15:07:35.942659]<cmc>yes, your project's path is your trac "environment"
[15:10:22.856169]<XoniX>cmc: thanks now it works :)
[15:10:29.721896]<cmc>rock on
[15:28:11.689247]<XoniX>in which folder should i do my logo ?
[15:28:37.519760]<XoniX>path is set at the moment to /site/logo.png
[15:28:45.784924]<XoniX>htdocs ?
[15:38:41.036650]<RichardLynch>XoniX: Do this: locate trac.ini
[15:39:04.522800]<RichardLynch>Edit that file, and search for logo. You define where the logo lives there, and you can put the logo any [bleep] place you want it to be.
[15:40:01.339418]<XoniX>should i define to folder from the lowest level ?
[15:40:14.349027]<XoniX>/home/site/project/htdocs/logo.png ?
[15:40:18.637447]<cmc>if you put it in /trac/environment/htdocs then you can reference it via site/nameoffile.png
[15:40:30.895101]<cmc>XoniX I think that's a good place
[20:33:59.907042]<TheUni>i've been wrestling with this for a while now, maybe someone has some suggestions...
[20:34:09.794361]<TheUni>my mysql trac repo cpu usage is outrageously high
[20:34:23.143610]<TheUni>ramps up to ~100% usage when just viewing a revision