Emmanuel Blot wrote:
Hi,
I'd like to get some feedback about the behaviour of Trac with
potentially large subversion changesets (from the timeline view, for
example, click on a changeset known to contain a lot of files):
With my server (PIII/1GHz, 512MB RAM, Linux 2.6/Apache 2.0.55/Python
2.3/mod_python/Trac:trunk), changeset with 1000+ new files or 400+
changed file never get displayed on the web client:
The web client loads the page forever, the Apache process on server
eats all the CPU time, and that's pretty much it.
Well, you're simply not patient enough :)
When I tried to browse the Linux repository using my Mercurial plugin,
for some changesets (branch merges) I had to wait 8-10 minutes...
This is due to the way a diff is prepared: the full files are compared,
using difflib. That's OK performance wise with 10-100 files, but not
when it gets in the 1000s (and of course this also depends from the
size of the file, see a former mail in this ML about the diff beeing slow
for one 17MB file).
Is there any option
to disable the built-in diff feature, for example, when the changeset
is large ?
I wanted to implement something like that, which will be useful for the
TracDiff
features too.
[changeset]
max_diff_shown = 100
(or better name)
and don't inline the diffs in the changeset view if there are more than
`max_diff_shown` files
with diffs (Added/Deleted/Edits on Binary files wouldn't count).
The (n diffs) link at the right of the file entry in the Files: list
would be kept,
but would be redirected in this case to the ''restricted changeset'' for
that file
(restricted changesets are also introduced by TracDiff: those are a
partial view
for a changeset, restricted to a given path).
-- Christian
_______________________________________________
Trac mailing list
[email protected]
http://lists.edgewall.com/mailman/listinfo/trac