https://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292008-06-14T11:05:15ZRedmineRedmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=33112008-06-14T11:05:15ZJean-Philippe Langjp_lang@yahoo.fr
<ul></ul><p>I've cloned your repository. The first access takes a few minutes (changesets are loaded in the db).<br />But after that, displaying the repository is almost immediate. Tested with trunk and 0.7 stable branch.<br />Which version/revision are you using ? Also, please attach the full log (in debug mode) generated when you click the repository tab.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=42042008-08-04T18:48:24ZJean-Philippe Langjp_lang@yahoo.fr
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Closed</i></li></ul><p>No feedback. Reopen if needed.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=50122008-10-02T23:39:00ZThomas Capricelli
<ul><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Today i've updated (to <a class="changeset" title="Added tests to cover IssueStatus.destroy and IssueStatus.check_integrity" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/1923">r1923</a>), and it works a lot better. I probably had a too old version. Keep up the good work.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=50132008-10-03T03:01:11ZDavid Kowis
<ul></ul><p>I can say this does happen with a large git repo.</p>
<p><a class="external" href="http://shlrm.org/redmine/repositories/show/grimoire-test-1">http://shlrm.org/redmine/repositories/show/grimoire-test-1</a></p>
<p>That's running latest svn (<a class="changeset" title="Added tests to cover IssueStatus.destroy and IssueStatus.check_integrity" href="https://www.redmine.org/projects/redmine/repository/svn/revisions/1923">r1923</a>) using passenger on an apache server.</p>
<p>It takes a ridiculously long time to do the initial import.</p>
<p>one can clone the repo I'm using there:<br />git clone git://shlrm.org/omfggrimoire.git</p>
<p>Further accesses take tens of seconds to render the page. Granted, this is a huge repo, but it does happen.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57222008-11-17T12:22:41ZBurt Culver
<ul><li><strong>Status</strong> changed from <i>Closed</i> to <i>Reopened</i></li></ul><p>This happens for me too on a Git repository. I just added it to our redmine today, loaded the change sets on the command line (6900 of them). Now whenever I click on Repository the site hangs and the browser times out. In debug mode I see that it takes redmine 248 seconds to complete - each and every time.</p>
<p>The delay seems to come from redmine doing a "git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller <del>1 master -</del> 'faq.php'" call on all 300 top level files that the "git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' ls-tree -l 'HEAD:'" lists.</p>
<p>I upgraded to the latest in trunk (<a class="changeset" title="Adds Plugin#requires_redmine method so that plugin compatibility can be checked against current R..." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/2042">r2042</a>) to see if there was a fix but it didn't help.</p>
<p>I'm pretty sure it is the number of files in the directory that make the difference rather than the revision count as David Kowis's example has what looks to be 100 files in his top-level directory and it is about 1/3 as fast. Redmine's own svn repo trunk/app/views with 37 folders takes a few seconds to load.</p>
<p>Here is a summary of the debug output for our repo:</p>
<pre><code>
Processing RepositoriesController#show (for 127.0.0.12 at 2008-11-18 01:01:26) [GET]
Session ID: a6af16ec88ef0b45e2e5c6a53188149a
Parameters: {"action"=>"show", "id"=>"bgz", "controller"=>"repositories"}
SQL (0.000101) SELECT max(`settings`.updated_on) AS max_updated_on FROM `settings`
User Load (0.000057) SELECT * FROM `users` WHERE (`users`.`id` = 3) AND (status = 1)
Project Load (0.000061) SELECT * FROM `projects` WHERE (`projects`.`identifier` = 'bgz') LIMIT 1
Repository Load (0.000045) SELECT * FROM `repositories` WHERE (`repositories`.project_id = 1) LIMIT 1
EnabledModule Load (0.000065) SELECT * FROM `enabled_modules` WHERE (`enabled_modules`.project_id = 1)
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --raw --date=iso --pretty=fuller -n 1
Changeset Load (0.000130) SELECT * FROM `changesets` WHERE (`changesets`.repository_id = 4) ORDER BY changesets.committed_on DESC, changesets.id DESC LIMIT 1
Changeset Load (0.000062) SELECT * FROM `changesets` WHERE (`changesets`.`scmid` = '268b9f207d6dbb880f353b1e1a934e926140dc5e') AND (`changesets`.repository_id = 4) ORDER BY changesets.committed_on DESC, changesets.id DESC LIMIT 1
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' ls-tree -l 'HEAD:'
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' branch
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller -1 master -- '.cvsignore'
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' branch
Shelling out: git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller -1 master -- '.gitignore'
--the branch and log commands repeat for the 300 files--
Changeset Load (0.000159) SELECT * FROM `changesets` WHERE (`changesets`.repository_id = 4) ORDER BY committed_on DESC, changesets.committed_on DESC, changesets.id DESC LIMIT 10
Rendering template within layouts/base
Rendering repositories/show
Changeset Load (0.000123) SELECT * FROM `changesets` WHERE (`changesets`.`revision` = 'f5f46f9f01c29a3414260e83fa483d75d45813bd') AND (`changesets`.repository_id = 4) ORDER BY changesets.committed_on DESC, changesets.id DESC LIMIT 1
User Load (0.000059) SELECT * FROM `users` WHERE (`users`.`id` = 9)
Changeset Load (0.000082) SELECT * FROM `changesets` WHERE (`changesets`.`revision` = '59dd7ab40a541ace8256ff5f1af9d50d39b1aed6') AND (`changesets`.repository_id = 4) ORDER BY changesets.committed_on DESC, changesets.id DESC LIMIT 1
User Load (0.000058) SELECT * FROM `users` WHERE (`users`.`id` = 51)
Changeset Load (0.000104) SELECT * FROM `changesets` WHERE (`changesets`.`revision` = '0c8ba9ce1711e9887786ec9b9d2b017659a24ab3') AND (`changesets`.repository_id = 4) ORDER BY changesets.committed_on DESC, changesets.id DESC LIMIT 1
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 51)
--sql like this occurs 300 or so times--
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 4)
Rendered repositories/_dir_list_content (2.26420)
Rendered repositories/_dir_list (2.26477)
UserPreference Load (0.000118) SELECT * FROM `user_preferences` WHERE (`user_preferences`.user_id = 3) LIMIT 1
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 10)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 4)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 4)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 4)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 42)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 42)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 42)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 4)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 42)
CACHE (0.000000) SELECT * FROM `users` WHERE (`users`.`id` = 10)
Rendered repositories/_revisions (0.04287)
Token Load (0.000123) SELECT * FROM `tokens` WHERE (`tokens`.user_id = 3 AND (action='feeds')) LIMIT 1
SQL (0.000117) SELECT count(DISTINCT `members`.id) AS count_all FROM `members` LEFT OUTER JOIN `projects` ON `projects`.id = `members`.project_id LEFT OUTER JOIN `roles` ON `roles`.id = `members`.role_id WHERE (`members`.user_id = 3 AND (projects.status=1))
Project Load Including Associations (0.000110) SELECT `projects`.`id` AS t0_r0, `projects`.`name` AS t0_r1, `projects`.`description` AS t0_r2, `projects`.`homepage` AS t0_r3, `projects`.`is_public` AS t0_r4, `projects`.`parent_id` AS t0_r5, `projects`.`projects_count` AS t0_r6, `projects`.`created_on` AS t0_r7, `projects`.`updated_on` AS t0_r8, `projects`.`identifier` AS t0_r9, `projects`.`status` AS t0_r10, `parents_projects`.`id` AS t1_r0, `parents_projects`.`name` AS t1_r1, `parents_projects`.`description` AS t1_r2, `parents_projects`.`homepage` AS t1_r3, `parents_projects`.`is_public` AS t1_r4, `parents_projects`.`parent_id` AS t1_r5, `parents_projects`.`projects_count` AS t1_r6, `parents_projects`.`created_on` AS t1_r7, `parents_projects`.`updated_on` AS t1_r8, `parents_projects`.`identifier` AS t1_r9, `parents_projects`.`status` AS t1_r10 FROM `projects` LEFT OUTER JOIN `projects` parents_projects ON `parents_projects`.id = `projects`.parent_id INNER JOIN members ON projects.id = members.project_id WHERE ((`members`.user_id = 3) AND ((projects.status=1)))
Rendered layouts/_project_selector (0.00469)
SQL (0.000106) SELECT count(*) AS count_all FROM `versions` WHERE (`versions`.project_id = 1)
Wiki Load (0.000048) SELECT * FROM `wikis` WHERE (`wikis`.project_id = 1) LIMIT 1
SQL (0.000042) SELECT count(*) AS count_all FROM `boards` WHERE (`boards`.project_id = 1)
Completed in 224.48472 (0 reqs/sec) | Rendering: 2.71917 (1%) | DB: 0.01270 (0%) | 200 OK [http://redmine.fishpond.co.nz/repositories/show/bgz]
</code></pre> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57252008-11-17T17:41:37ZJean-Philippe Langjp_lang@yahoo.fr
<ul></ul><blockquote>
<p>The delay seems to come from redmine doing a "git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller <del>1 master -</del> 'faq.php'" call on all 300 top level files that the "git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' ls-tree -l 'HEAD:'" lists.</p>
</blockquote>
<p>Indeed. I've just committed an improvement in <a class="changeset" title="Do not query multiple times git for branch (#1435)." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/2043">r2043</a> that prevents Redmine from running the same git branch command multiple times.<br />Response time is almost divided by 2. I know that it doesn't solve your problem (120s would be still very slow), but it can help.<br />Displaying a git directory with 300 files (with a small number of commits) dropped from 9s to 5s on my dev box.</p>
<blockquote>
<p>Redmine's own svn repo trunk/app/views with 37 folders takes a few seconds to load.</p>
</blockquote>
<p>Actually, it takes about 0.5s to generate the page for trunk/app/views (see X-Runtime server response header).<br />But svn works in a different way. There's no need to query each entry to retrieve its last revision (a single command can be used to list the directory and get these revisions for each entry).</p>
<p>Do you know if git offers this possibility ?</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57292008-11-17T21:41:02ZBurt Culver
<ul></ul><p>Thanks for that update. I tried hardcoding the branch last night, but it only brought the response time down to 200 seconds. The main issue is that each git log on our server takes 1 to 2 seconds to complete. Per the GIT doco this is because it is looking at all the revisions ever and then just returning the last one for the file specified. I couldn't find a way to list a directory of the latest revisions. Mind you, we just switched from cvs to git so I am no expert on git at this point. The only way I could think of to speed this up would be to modify the database and at the time you load the revisions you query the revision and store what files were modified by each revision. There didn't seem to be an easy way to do this and would probably involve parsing the output of git show on the revision. Then, given the file name you could look up the latest revision in the database. Alternatively, you could do the git logs in parrallel rather than serially but even that would bog down the system.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57302008-11-17T22:13:04ZJean-Philippe Langjp_lang@yahoo.fr
<ul></ul><blockquote>
<p>The only way I could think of to speed this up would be to modify the database and at the time you load the revisions you query the revision and store what files were modified by each revision.</p>
</blockquote>
<p>File changes for each commit are already stored in the database</p>
<blockquote>
<p>Then, given the file name you could look up the latest revision in the database.</p>
</blockquote>
<p>I've just made a quick test, querying the database using the file path is slower on my machine that using git log (git log doesn't take more than 0.1s with a 30k commit git repo). Maybe it could be improved by adding some indexes on the table, I'll do some further tests.<br />How many commits have you in your repository ?</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57312008-11-17T22:27:22ZBurt Culver
<ul></ul><p>We only have 7k changesets and 15k changes.</p>
<p>But git log takes considerably longer on my machine:<br />time git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller <del>1 master -</del> 'wikibase.png'<br />commit 59dd7ab40a541ace8256ff5f1af9d50d39b1aed6<br />Author: fishpond <fishpond><br />AuthorDate: 2005-11-10 20:59:59 +0000<br />Commit: fishpond <fishpond><br />CommitDate: 2005-11-10 20:59:59 +0000</p>
<pre><code>Initial revision</code></pre>
<p>real 0m2.042s<br />user 0m0.000s<br />sys 0m0.000s<br />bash-3.1$</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57322008-11-17T23:00:50ZBurt Culver
<ul></ul><p>git logs on newer files return much faster than the old dog I reported above:<br /> time git --git-dir '/mnt/data-store/redmine/git-repositories/fishpond/' log --date=iso --pretty=fuller <del>1 master -</del> stylesheet.css.php<br />commit c2ffc2367e15b91e834e5dcdfacba6db8d8812cd<br />Author: James K. McFall <xxx><br />AuthorDate: 2008-11-11 14:01:48 +1300<br />Commit: James K. McFall <xxx><br />CommitDate: 2008-11-11 14:01:48 +1300</p>
<pre><code>Dev 2296 - Improvements to product details page<br /> Reviewed by Kelvin</code></pre>
<p>real 0m0.020s<br />user 0m0.000s<br />sys 0m0.000s</p>
<p>or perhaps its the difference between imported from cvs commits and commits since we switched to git.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57382008-11-18T09:29:24ZThomas Lecavelier
<ul></ul><p>Added: relation to <a class="issue tracker-1 status-1 priority-5 priority-high2" title="Defect: Timeout risks: need asynchronous operations (New)" href="https://www.redmine.org/issues/1931">#1931</a>. It could hide performance problems.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57542008-11-18T22:26:20ZBurt Culver
<ul></ul><p>I sent an email to git-list to get the expert opinion on how to handle it. Here is a link to the thread: <a class="external" href="http://marc.info/?l=git&m=122698291625045&w=2">http://marc.info/?l=git&m=122698291625045&w=2</a></p>
<p>Basically, git operates totally differently on the backend so doing the browsing like redmine does is not well supported at this point. The existing git tree browsers seem to be very commit rather than file based. For example: <a class="external" href="http://git.kernel.org/">http://git.kernel.org/</a> - once you go into a project, you start out with the latest commits and can click on tree to get to a file view (I think the file view at the time of that commit). Then when you click on a file's history you can see the commits. This is a radically different view of a tree than what redmine supports because git tracks changes in a radically different manner than the traditional version control systems (cvs, svn, etc).</p>
<p>So, I don't really know how to go forward. If you can send me the patch you used to do a db lookup for the entities rather than the system call - I think that would be faster on our system. Otherwise, maybe redmine could optionally skip displaying the latest commit on the repository browse for git repos? That would be a quick fix for this.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57732008-11-20T19:00:30ZJean-Philippe Langjp_lang@yahoo.fr
<ul><li><strong>File</strong> <a href="/attachments/1164">git_log_from_db.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1164/git_log_from_db.patch">git_log_from_db.patch</a> added</li></ul><p>Thanks for the info.<br />Here is the patch. It's not thoroughly tested but it seems to work.<br />First access may be slow (could be improved by adding an index on the "path" column of the table "changes"). But once there is some cache at db level, it's pretty fast.</p>
<p>Note that it doesn't give the exact same results as using git log on the file (eg. a git commit do not report to change a file when running git log <commit> but some files are reported to be modified by the commit when running git log -- <path>). Maybe there's a reason for this, but I'm really not mastering git.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=57992008-11-24T07:17:07ZBurt Culver
<ul></ul><p>Added that patch and the index. This is the loadtime now:</p>
<p>Processing RepositoriesController#show (for 127.0.0.12 at 2008-11-24 20:12:55) [GET]<br /> Session ID: 67198a021a844af2bde909f20ec96b3d<br /> Parameters: {"action"=>"show", "id"=>"bgz", "controller"=>"repositories"}<br />Rendering template within layouts/base<br />Rendering repositories/show<br />Completed in 2.78889 (0 reqs/sec) | Rendering: 2.21187 (79%) | DB: 0.12612 (4%) | 200 OK [<a class="external" href="http://redmine.fishpond.co.nz/repositories/show/bgz">http://redmine.fishpond.co.nz/repositories/show/bgz</a>]</p>
<p>A giant improvement. Thanks Jean-Plilippe.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=126802009-12-03T20:53:54ZThomas Capricelli
<ul></ul><p>According to the last comment, it can be closed again... right ? Anyway, as the original author of the bug, I consider it solved.</p>
<p>Though it seems it went beyond my original problem...... so i let you decide.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=150872010-03-12T14:54:47ZToshi MARUYAMA
<ul></ul><p>The reason of this Mercurial problem is <strong>"Mercurial tip is not latest revision"</strong> .<br />I described at <a class="external" href="http://www.redmine.org/issues/4455#note-23">http://www.redmine.org/issues/4455#note-23</a> .<br />I fixed this problem at <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Mercurial overhaul (Closed)" href="https://www.redmine.org/issues/4455">#4455</a>.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210102010-10-04T19:56:53ZMarc Mengel
<ul></ul><p>I've applied this patch on my server, as well as adding and index on create(path);<br />without even adding the index, it was a 3x speedup, and the <br />create index create_path on create(path) got me another factor of 2.</p>
<p>Is this going to go into future releases?</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210162010-10-04T22:50:55ZToshi MARUYAMA
<ul></ul><p>This issue contains several problems.</p>
<p>Mercurial</p>
<ul>
<li>fetching revisions performance problem (<a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Redmine Takes Too Long On Large Mercurial Repository (Closed)" href="https://www.redmine.org/issues/3449">#3449</a>, <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Sorting for changesets might go wrong on Mercurial repos (Closed)" href="https://www.redmine.org/issues/3567">#3567</a>)</li>
</ul>
<p>It is resolved at <a class="external" href="http://www.redmine.org/issues/4455#note-144">http://www.redmine.org/issues/4455#note-144</a></p>
<p>Git</p>
<ul>
<li>fetching revisions performance problem (<a class="issue tracker-1 status-5 priority-3 priority-lowest closed" title="Defect: git tab,browsing, very slow -- even after first time (Closed)" href="https://www.redmine.org/issues/6013">#6013</a>)</li>
<li>browsing directory performance problem (<a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Redmine hangs up while browsing Git repository (Closed)" href="https://www.redmine.org/issues/5096">#5096</a>)</li>
</ul> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210172010-10-04T23:25:10ZToshi MARUYAMA
<ul></ul><p>JPL's patch seems to fix git browsing directory performance problem (<a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Defect: Redmine hangs up while browsing Git repository (Closed)" href="https://www.redmine.org/issues/5096">#5096</a>).<br />For committing this patch, I think we need to make unit and functional tests and test repository.<br />And for adding index, I think we need to make db migration such as <a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/tags/1.0.2/db/migrate/20100221100219_add_index_on_changesets_scmid.rb">source:tags/1.0.2/db/migrate/20100221100219_add_index_on_changesets_scmid.rb</a></p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210692010-10-06T16:12:05ZMarc Mengel
<ul><li><strong>File</strong> <a href="/attachments/4623">git_log_from_db.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4623/git_log_from_db.patch">git_log_from_db.patch</a> added</li></ul><p>Okay, with this slight variation on the patch (attached) (which relies on changeset_id's being monotonically increasing) and</p>
<p>create index changes_path_id on changes(path,changeset_id)</p>
<p>I get really quite snappy performance.</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210702010-10-06T16:22:06ZMarc Mengel
<ul></ul><p>Actually, belay that last one... ordering by changeset_id does not consistently get you the most recent change, in fact in many cases it seems to get you the <strong>oldest</strong> one...</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210732010-10-06T20:29:16ZMarc Mengel
<ul></ul><p>This time Rocky, for sure!</p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210742010-10-06T20:31:19ZMarc Mengel
<ul><li><strong>File</strong> <a href="/attachments/4624">better_git_log_from_db.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4624/better_git_log_from_db.patch">better_git_log_from_db.patch</a> added</li></ul> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210752010-10-06T20:33:28ZMarc Mengel
<ul><li><strong>File</strong> <a href="/attachments/4625">really_better_git_log_from_db.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/4625/really_better_git_log_from_db.patch">really_better_git_log_from_db.patch</a> added</li></ul> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210772010-10-06T22:34:40ZToshi MARUYAMA
<ul></ul><p>Redmine 1.0 git adapter support git branch, so we need to consider it.<br />For example, <a class="external" href="http://github.com/marutosi/redmine/blob/246a913ba3252977ff1eb813d793a3c0bb1323ba/app/models/repository/mercurial.rb#L69">http://github.com/marutosi/redmine/blob/246a913ba3252977ff1eb813d793a3c0bb1323ba/app/models/repository/mercurial.rb#L69</a></p> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=210782010-10-06T23:43:23ZToshi MARUYAMA
<ul></ul>Unit tests
<ul>
<li><a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/tags/1.0.2/test/unit/repository_git_test.rb">source:tags/1.0.2/test/unit/repository_git_test.rb</a></li>
<li><a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/tags/1.0.2/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb">source:tags/1.0.2/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb</a></li>
</ul>
Functional test
<ul>
<li><a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/tags/1.0.2/test/functional/repositories_git_controller_test.rb">source:tags/1.0.2/test/functional/repositories_git_controller_test.rb</a></li>
</ul>
Test repository
<ul>
<li><a class="source" href="https://www.redmine.org/projects/redmine/repository/svn/entry/tags/1.0.2/test/fixtures/repositories/git_repository.tar.gz">source:tags/1.0.2/test/fixtures/repositories/git_repository.tar.gz</a></li>
</ul> Redmine - Defect #1435: slow display of 'repository' tab for huge repository (pagination problem?)https://www.redmine.org/issues/1435?journal_id=237412011-01-06T15:02:55ZToshi MARUYAMA
<ul><li><strong>Status</strong> changed from <i>Reopened</i> to <i>Closed</i></li><li><strong>Resolution</strong> set to <i>Fixed</i></li></ul><p>Original Mercurial fetching revisions performance problem is fixed by <a class="changeset" title="Fixed: repository: mercurial: sort changesets by revision (#3449, #3567). In DVCS, changesets ar..." href="https://www.redmine.org/projects/redmine/repository/svn/revisions/4611">r4611</a>.<br />I close this issue.</p>
<p>Git issues are followings.</p>
<ul>
<li>git fetching revisions performance problem (<a class="issue tracker-1 status-5 priority-3 priority-lowest closed" title="Defect: git tab,browsing, very slow -- even after first time (Closed)" href="https://www.redmine.org/issues/6013">#6013</a>)</li>
<li>git browsing directory performance problem (<a class="issue tracker-1 status-1 priority-3 priority-lowest" title="Defect: Git adapter very slow when a commit modifies a lot of files (New)" href="https://www.redmine.org/issues/7047">#7047</a>)</li>
</ul>