summaryrefslogtreecommitdiffstats
path: root/app/models/repository/git.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* scm: git: process new git revisions all at once rather than per branch (#10470)Toshi MARUYAMA2012-03-281-35/+22
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9283 e93f8b46-1217-0410-a6f0-8f06a7374b81
* remove trailing white-space from app/models/repository/git.rbToshi MARUYAMA2012-03-071-2/+2
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9145 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: performance improvements in fetching revisions (#8857, #9472)Toshi MARUYAMA2012-03-071-29/+61
| | | | | | | | | | | | | | | | | | Parse a revision for a given branch, just if we haven't parsed it for any branches before. Moved the db check to for existing revisions into a grouped search. Search for many revisions at once: this reduces db load. Revisions are grouped into sets of 100. This is to improve memory consumption. There will be just one query instead of each 100. The above two methods significantly increase parsing speed. Test case was a git repo with 6000+ commits on a master branch, and several other branches originating for master. Speed improved from 1.4h to 18min. Contributed by Gergely Fábián. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9144 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: reduce saving heads times in fetching revisions (#8857, #9472)Toshi MARUYAMA2012-03-071-3/+15
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9143 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: backout r8839 (#8857)Toshi MARUYAMA2012-03-071-39/+28
| | | | | | call "git log" only once instead of per branch in fetching revisions. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9142 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: backout r8840 (#8857, #9472)Toshi MARUYAMA2012-03-071-7/+2
| | | | | | reduce saving heads times in fetching revisions. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9141 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Rails3: scm: git: use .to_s for overriding human_attribute_name parameterToshi MARUYAMA2012-02-241-1/+1
| | | | | | On Rails 3.0.11, parameter is symbol not string in activerecord validation. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8975 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: reduce saving heads times in fetching revisions (#8857, #9472)Toshi MARUYAMA2012-02-111-2/+7
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8840 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: call "git log" only once instead of per branch in fetching ↵Toshi MARUYAMA2012-02-111-28/+39
| | | | | | revisions (#8857) git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8839 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: raise exception if "git log" is error and block is given in lib ↵Toshi MARUYAMA2012-02-101-12/+16
| | | | | | revision method (#8857) git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8837 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: add model method to get heads from extra_info branches hash (#8857)Toshi MARUYAMA2012-02-091-0/+7
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8816 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: split fetch_changesets methodToshi MARUYAMA2012-02-081-0/+5
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8814 e93f8b46-1217-0410-a6f0-8f06a7374b81
* human_attribute_name accepts optional argument.Jean-Philippe Lang2011-12-181-2/+2
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8286 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: model: git: set revision graph support true (#5501)Toshi MARUYAMA2011-11-031-0/+4
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7717 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: model: save parent/child relation for changesets (#5501)Toshi MARUYAMA2011-11-031-1/+6
| | | | | | Contributed by Jan Topiński. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7711 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: fix typo of comments about fetching revisions (#9472)Toshi MARUYAMA2011-10-271-1/+1
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7660 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: recovery and improve comments of fetching from 1.1 about harmful ↵Toshi MARUYAMA2011-10-271-0/+11
| | | | | | influence that git does not have the revision number (#9472) git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7658 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: return saved revision at model "save_revision" (#5501)Toshi MARUYAMA2011-10-251-0/+1
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7654 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: use to_s for branches at model (#5501)Toshi MARUYAMA2011-10-251-1/+2
| | | | | | | "scm.branches" will extend to have the revision for the branch. no "to_s" will have a problem. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7653 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: catch exception in model default_branch() (#8458, #6713).Toshi MARUYAMA2011-07-101-0/+3
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6220 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: return nil at model default_branch and override at git model (#8458, ↵Toshi MARUYAMA2011-06-301-0/+4
| | | | | | | | | | #6713). Redmine Git and Mercurial adapter support *branches*. Mercurial default branch is *dafault*. But, it is popular to show all revisions on the top page for Mercurial GUI. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6130 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: brush up model fetch_changesets() comment.Toshi MARUYAMA2011-05-191-5/+6
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5858 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: use hash#dup for extra_info in model fetch_changesets().Toshi MARUYAMA2011-05-191-1/+2
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5856 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: set revisions ordering inconsistent in existing database (#5357).Toshi MARUYAMA2011-05-191-1/+11
| | | | | | | Between version 0.9 r2840 (#1406) and version 1.2 r5073 (#7821, #5357), git revisions are stored as *C-B-A-F-E-D* in database. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5853 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: fix fetching 7 days problem (#7146, #6013).Toshi MARUYAMA2011-05-131-29/+16
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5788 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: show only filename and filesize if setting of reporting last ↵Toshi MARUYAMA2011-05-131-0/+4
| | | | | | commit is disable (#8365, #7047). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5775 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: get "extra_report_last_commit" value from extra_info (#8365, #7047).Toshi MARUYAMA2011-05-131-1/+4
| | | | | | | Browsing repository tree performance problem is git only. So, adding new "report_last_commit" column is very expensive. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5768 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: code clean up model.Toshi MARUYAMA2011-05-121-8/+9
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5750 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: change model report_last_commit() name to ↵Toshi MARUYAMA2011-05-061-2/+2
| | | | | | extra_report_last_commit() (#7047). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5661 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: use the model value of whether reporting last commit in repository ↵Toshi MARUYAMA2011-05-051-1/+3
| | | | | | | | tree (#7047). And remove entries_git() and the flag in adapter. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5657 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: add the model method whether reporting last commit in repository ↵Toshi MARUYAMA2011-05-051-0/+4
| | | | | | tree (#7047). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5656 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: override entries() in model for browsing tree performance (#7047).Toshi MARUYAMA2011-05-051-0/+4
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5655 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: fix indent in model.Toshi MARUYAMA2011-05-051-1/+1
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5652 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: add comments of revision order in fetch_changesets().Toshi MARUYAMA2011-05-041-0/+15
| | | | | | | Related issues. #5357, #6013, #7146, #4773, #4547, #1406, #3449, #3567. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5644 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: rearrange fetch_changesets() comment.Toshi MARUYAMA2011-05-041-3/+7
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5643 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: refactor saving a revision in model.Toshi MARUYAMA2011-05-041-13/+18
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5624 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: use i18n string at 'Path to repository' setting in Mercurial, Git, ↵Toshi MARUYAMA2011-04-231-4/+5
| | | | | | Bazaar and Darcs. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5529 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: set supporting directory revisions or not at scm level.Toshi MARUYAMA2011-03-161-0/+4
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5144 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: insert revisions to database with reverse commit order (#7821, #5357).Toshi MARUYAMA2011-03-101-1/+1
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5073 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: add scm specific human_attribute_name for input validation.Toshi MARUYAMA2011-03-011-0/+7
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4975 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: use --encoding=UTF-8 in "git log" (#3396).Toshi MARUYAMA2011-02-281-0/+4
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4964 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: move saving changesets from adapter to model (#3396).Toshi MARUYAMA2011-02-281-1/+22
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4959 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: git: implement find_changeset_by_name (#7047).Toshi MARUYAMA2011-02-161-0/+7
| | | | | | SQL "like" is slow. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4851 e93f8b46-1217-0410-a6f0-8f06a7374b81
* scm: add scm command and version methods at repository models (#4273).Toshi MARUYAMA2011-02-141-2/+2
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4822 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Changing revision label and identifier at SCM adapter level (#3724, #6092)Toshi MARUYAMA2011-01-021-0/+10
| | | | | | Contributed by Yuya Nishihara. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4613 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Do not parse the entire git log to fetch new commits (takes several minutes ↵Jean-Philippe Lang2010-02-071-9/+12
| | | | | | for a few thousands commits), but only 1 week before the last known commit (#4547, #4716). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3394 e93f8b46-1217-0410-a6f0-8f06a7374b81
* SCM:Jean-Philippe Lang2009-08-171-10/+0
| | | | | | | * Fixes file log for non-Git repositories (Repository#latest_changesets ignores path argument) * No longer used Repository#changesets_for_path method removed git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2844 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Added branch and tag support to the git repository viewer. (#1406)Eric Davis2009-08-151-33/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many thanks to Adam Soltys and everyone else who tested this patch. * Updated git test repository so it has a branch with some differences from the master branch * Moved redmine diff class into a module so as not to clash with diff-lcs gem which is required by grit * Find changesets from all branches, not just master * Got revision browsing working * Got file actions working properly * Allow browsing by short form of commit identifier * Added a method to retrieve repository branches * Allow browsing by branch names as well as commit numbers * Handle the case where a git repository has no master branch * Expand revision box and handle finding revisions by first 8 characters * Added branches dropdown to repository show page * Combined repository browse and show into a single action. Moved branch/revision navigation into a partial. * Renamed partial navigation -> breadcrumbs * Made it so latest revisions list uses branch and path context * Preserve current path when changing branch or revision * Perform slightly more graceful error handling in the case of invalid repository URLs * Allow branch names to contain periods * Allow dashes in branch names * Sort branches by name * Adding tags dropdown * Need to disable both branches and tags dropdowns before submitting revision form * Support underscores in revision (branch/tag) names * Making file history sensitive to current branch/tag/revision, adding common navigation to changes page * Updated translation files to include labels for 'branch', 'tag', and 'view all revisions' * Reenable fields after submit so they don't look disabled and don't stay disabled on browser back button * Instead of dashes just use empty string for default dropdown value * Individual entry views now sport the upgraded revision navigation * Don't display dropdowns with no entries * Consider all revisions when doing initial load * Fixed bug grabbing changesets. Thanks to Bernhard Furtmueller for catching. * Always check the entire log to find new revisions, rather than trying to go forward from the latest known one * Added some cleverness to avoid selecting the whole changesets table any time someone views the repository root * File copies and renames being detected properly * Return gracefully if no revisions are found in the git log * Applied patch from Babar Le Lapin to improve Windows compatibility git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2840 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Adds a setting to limit the number of revisions displayed on a repository ↵Jean-Philippe Lang2009-02-011-2/+3
| | | | | | file log (default=100). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2350 e93f8b46-1217-0410-a6f0-8f06a7374b81
* Eager-load users.Jean-Philippe Lang2008-11-111-1/+1
| | | | git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2009 e93f8b46-1217-0410-a6f0-8f06a7374b81