From d301b8c0c1806a5cdb3a00b671058023a7619e09 2014-02-02 04:44:20 From: Toshi MARUYAMA Date: 2014-02-02 04:44:20 Subject: [PATCH] scm: mercurial: switch short or long id of entry by existing value in DB (#14361) git-svn-id: http://svn.redmine.org/redmine/trunk@12760 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/repository/mercurial.rb b/app/models/repository/mercurial.rb index 1a5fd4b..36b73e9 100644 --- a/app/models/repository/mercurial.rb +++ b/app/models/repository/mercurial.rb @@ -71,12 +71,25 @@ class Repository::Mercurial < Repository super(cs, cs_to, ' ') end + def modify_entry_lastrev_identifier(entry) + if entry.lastrev && entry.lastrev.identifier + entry.lastrev.identifier = scmid_for_inserting_db(entry.lastrev.identifier) + end + end + private :modify_entry_lastrev_identifier + def entry(path=nil, identifier=nil) - scm.entry(path, identifier) + entry = scm.entry(path, identifier) + return nil if entry.nil? + modify_entry_lastrev_identifier(entry) + entry end def scm_entries(path=nil, identifier=nil) - scm.entries(path, identifier) + entries = scm.entries(path, identifier) + return nil if entries.nil? + entries.each {|entry| modify_entry_lastrev_identifier(entry)} + entries end protected :scm_entries