27 Aug 2012 11:28
[Trac-dev] Large git repositories?
Benjamin Lau <benjamin.a.lau <at> gmail.com>
2012-08-27 09:28:41 GMT
2012-08-27 09:28:41 GMT
Hello, I was wondering if any progress had been made on this. I found this page: http://trac.edgewall.org/wiki/TracDev/Performance/Git and was playing around with Peter Stuge's branch, but that seems to be in a incomplete state. After playing around with the code a while I realize that the main issue is that we're having to reprocess a large number of changes over and over. It also seems like the revision cache gets invalidated and reset quite a bit (way more than I'd expect especially since I've got the system hooked up to a trac repository that nobody can write to (local copy of our production repository). I'm not sure how my repo compares in size to others (23k commits with 6k branches/tags) but it takes PyGIT about 3 minutes (200k milliseconds) to run get_rev_cache when a rebuild is triggered. Another thought I had is about the way the source browser behaves. It tries to show the whole source tree with the latest changes on each file from all the branches and tags in the repo... but I think it would be better to just have it default to showing whatever branch is pointed to by origin/HEAD and then let people select particular branches if they way... or at least a workflow like this would work better for me. I'm not sure if this would help solve the existing problem with speed since we'd still need to traverse a large portion of the commits in the repo (my master branch contains 18k of the 23k commits in the repository). I was also playing around with pygit2 and played around with improving(Continue reading)
RSS Feed