Patch #7528

Fetch small initial set of repository changesets

Added by Andy Bolstridge over 9 years ago. Updated over 5 years ago.

Status:NewStart date:2011-02-03
Priority:NormalDue date:
Assignee:-% Done:

30%

Category:SCM
Target version:-

Description

In my company we have a subversion repository with 315,000 revisions in it. I think this isnot too unusual for a lot of corporate users. Now we love Redmine, but we have a problem when adding a new project as the first thing it does is reads every revision from the repo in chunks of 200, and this takes a very long time.

So, I've made a few changes to Redmine-1.1, this patch only reads the latest 200 revisions (as most people don't care for a project's history from years ago) and stores that. Project creation is now much faster. I've also added a link on the repository page that will fetch the next previous 200 revisions if and when they are required.

This is my first time with redmine, and ruby and rails, so I think the patch needs some peer review, but it's not that complicated given what it does.

fetch_more.patch Magnifier (6.09 KB) Andy Bolstridge, 2011-02-03 12:10

fetch_more.patch Magnifier (6.25 KB) Andy Bolstridge, 2011-02-07 11:40


Related issues

Related to Redmine - Feature #7719: SVN Start Revision New 2011-02-25
Related to Redmine - Defect #7699: Subversion: 500 Internal Server Error when browsing a rep... Reopened 2011-02-23
Related to Redmine - Patch #6159: Subversion: latest changesets performance improvement. New 2010-08-17

History

#1 Updated by Andy Bolstridge over 9 years ago

new patch, updated for RM 1.1.1

#2 Updated by Toshi MARUYAMA over 9 years ago

Git revision is not number. It is string of hash value.

#3 Updated by Toshi MARUYAMA over 9 years ago

  • % Done changed from 100 to 30

#4 Updated by Andy Bolstridge over 5 years ago

Fair enough, but git repos are still read in chunks of 200 - I don't use the rev num, but the number of revisions - ie they are still read from the repo 200 at a time in historical order, this change reads only the first chunk of 200 instead of repeating the process until they are all read, and I moved the code that reads the next chunk into a link so they can be fetched manually if required.

Also available in: Atom PDF