Edgewall Software

Opened 8 years ago

Last modified 18 months ago

#12545 closed enhancement

trac is slow when rendering the changeset page of git with many files — at Initial Version

Reported by: walty <walty8@…> Owned by:
Priority: normal Milestone: 1.0.14
Component: version control/changeset view Version:
Severity: normal Keywords: git performance
Cc: walty8@… Branch:
Release Notes:
API Changes:
Internal Changes:

Description

If a git changeset contains a lot of files, the rendering will be very slow. Currently the system would try to do two API calls for each file in the changeset, one for the old revision and one for the new revision. For example, if the changeset contains 100 files, then 200 git API calls will be triggered.

The trigger point should be the following lines of tracopt/versioncontrol/git/git_fs.py:

                    if change != Changeset.ADD:
                        old_node = self.get_node(path, old_rev, old_historian)
                    if change != Changeset.DELETE:
                        new_node = self.get_node(path, new_rev, new_historian)

Change History (0)

Note: See TracTickets for help on using tickets.