Opened 14 years ago
Last modified 3 years ago
#10606 new enhancement
GitPlugin: Improve performance
| Reported by: | Peter Suter | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | next-dev-1.7.x |
| Component: | plugin/git | Version: | 1.0dev |
| Severity: | critical | Keywords: | performance |
| Cc: | Jun Omae | Branch: | |
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description (last modified by )
Created as part of the move of GitPlugin. Tickets originally reported for th:GitPlugin: #746
Quoting hvr:
- try to create an additional
libgit-thin-basedStorageinPyGIT.pyto evaluate whether the exec+fork+parse overhead is still signifikant- most external
gitcalls can be avoided now thanks to extensive caching of meta-data; one of the remaining speed killers is listing directories in the source browser (cat-file -scalls can be optimized, by using GIT 1.5.3+-loption tols-tree; but having to callrev-listfor each folder element still remains an issue… maybe it'll be possible to get an enhancement tols-treemerged upstream to provide that information as well…)
See also: TracDev/Performance/Git
Attachments (0)
Change History (10)
comment:2 by , 13 years ago
| Description: | modified (diff) |
|---|---|
| Keywords: | performance added |
comment:3 by , 13 years ago
| Milestone: | → next-dev-1.1.x |
|---|---|
| Severity: | normal → critical |
| Version: | → 1.0dev |
Well, libgit-thin seems to have lived, but libgit2/pygit2 are alive and kicking.
The performance boost is very significative, see jomae.git@pygit2.
comment:4 by , 12 years ago
| Cc: | added |
|---|
In the jomae.git@pygit2 branch, tracopt.versioncontrol.git.* has been replaced with pygit2 integration. But, I reconsider the following.
- While Trac 1.1.x, pygit2 integration is located in
tracopt.versioncontrol.pygit2.*with low priority than git executable. Users can choice between git executable and pygit2 integration. - When release of Trac 1.2
- If the pygit2 integration is stable,
tracopt.versioncontrol.git.*is replaced with pygit2 or increase priority of pygit2 inIRepositoryConnector.get_supported_types(). - If it isn't stable yet, leave its location and priority.
- If the pygit2 integration is stable,
- For Trac 1.0 and 0.12 users, register pygit2 plugin on trac-hacks. It is to get feedback of pygit2 integration from other than trunk users.
Thoughts?
comment:6 by , 12 years ago
Thanks for response. First, I've registered and committed as TracPygit2Plugin on trac-hacks.
comment:8 by , 10 years ago
| Milestone: | next-dev-1.1.x → next-dev-1.3.x |
|---|
Narrowing focus for milestone:1.2. Please move ticket to milestone:1.2 if you intend to fix it.



Also, the 3 commits from last November in https://github.com/andersk/trac-git-plugin/commits/deforkify seem to be very interesting.Sorry, they're already in… looked in the wrong place.