diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-05-19 02:16:27 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-05-19 02:16:27 +0000 |
commit | 098655dbd061111e7389b6558026edf2f6898f97 (patch) | |
tree | 2b985daddacb4511a432270ddab1b13072832be1 | |
parent | 8dc8c625f6261acc72db05e4df5af04fe7a66f4a (diff) | |
download | redmine-098655dbd061111e7389b6558026edf2f6898f97.tar.gz redmine-098655dbd061111e7389b6558026edf2f6898f97.zip |
scm: git: set revisions ordering inconsistent in existing database (#5357).
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
-rw-r--r-- | app/models/repository/git.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 3e2edd9f7..7b229a279 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -109,7 +109,17 @@ class Repository::Git < Repository scm_brs = branches return if scm_brs.nil? || scm_brs.empty? h = extra_info || {} - h["branches"] ||= {} + h["branches"] ||= {} + h["db_consistent"] ||= {} + if changesets.count == 0 + h["db_consistent"]["ordering"] = 1 + merge_extra_info(h) + self.save + elsif ! h["db_consistent"].has_key?("ordering") + h["db_consistent"]["ordering"] = 0 + merge_extra_info(h) + self.save + end scm_brs.each do |br| from_scmid = nil from_scmid = h["branches"][br]["last_scmid"] if h["branches"][br] |