Change in behavior of Repository auto-fetch feature
Present Scenario of Repository Fetch¶
Presently, the changeset/other information about a repository is fetched each time I click on the Repository tab for a project. This is annoyingly slow if the repository is located on a remote server (like assembla, github, etc). I've been using redmine on a dedicated server with a 100mbps connection and I still don't like the delay. The browsing of the repository should be smooth. Especially when I click the repository tab just a second after the previous click. (The reconnection to the svn server again is redundant and would 'rarely' produce a change set.
Recommended change in behavior¶
Instead of using a cron job to do this at a fixed interval, the easiest solution would be for redmine to implement it within itself. Redmine can store the 'last-fetched-time' for every repository and let the user change this. So every time an http request is made for the repository page, redmine can refresh with the remote svn server only if the time since last refresh is greater than set time. This way, if you are navigating the same page within seconds, it will be seamless.
- Server Independent implementation. (for users who don't have access to cron tab)
- More efficient than cron since if redmine is not used for an entire day, the server doesn't unnecessarily run a changeset fetch more than 100 times in 24 hours. (if the cron is set to 10 minutes). We run 3 copies of redmine and having a change set being fetched regularly (when not even required) is quite not acceptable. Every bit of RAM/Processor matters on a server at times.
- Easy to code (as far as logic is concerned)
I've had the chance to interact with a few others who use redmine and I think this feature would be acceptable & preferred by a majority part of the community.
Looking forward to this. I love redmine!