diff --git a/app/models/repository.rb b/app/models/repository.rb index 592729d..1f88208 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -167,7 +167,9 @@ class Repository < ActiveRecord::Base end def entries(path=nil, identifier=nil) - scm.entries(path, identifier) + entries = scm.entries(path, identifier) + load_entries_changesets(entries) + entries end def branches @@ -380,6 +382,16 @@ class Repository < ActiveRecord::Base end end + def load_entries_changesets(entries) + if entries + entries.each do |entry| + if entry.lastrev && entry.lastrev.identifier + entry.changeset = find_changeset_by_name(entry.lastrev.identifier) + end + end + end + end + private # Deletes repository data diff --git a/app/models/repository/bazaar.rb b/app/models/repository/bazaar.rb index 441b4b7..649bb47 100644 --- a/app/models/repository/bazaar.rb +++ b/app/models/repository/bazaar.rb @@ -63,6 +63,8 @@ class Repository::Bazaar < Repository end end end + load_entries_changesets(entries) + entries end def fetch_changesets diff --git a/app/models/repository/cvs.rb b/app/models/repository/cvs.rb index 1ad7fb6..ebfceb6 100644 --- a/app/models/repository/cvs.rb +++ b/app/models/repository/cvs.rb @@ -66,6 +66,7 @@ class Repository::Cvs < Repository end end end + load_entries_changesets(entries) entries end diff --git a/app/models/repository/darcs.rb b/app/models/repository/darcs.rb index 18eb3a2..995a655 100644 --- a/app/models/repository/darcs.rb +++ b/app/models/repository/darcs.rb @@ -66,6 +66,7 @@ class Repository::Darcs < Repository end end end + load_entries_changesets(entries) entries end diff --git a/app/models/repository/filesystem.rb b/app/models/repository/filesystem.rb index c0b6ec4..e930090 100644 --- a/app/models/repository/filesystem.rb +++ b/app/models/repository/filesystem.rb @@ -44,10 +44,6 @@ class Repository::Filesystem < Repository false end - def entries(path=nil, identifier=nil) - scm.entries(path, identifier) - end - def fetch_changesets nil end diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 43c8265..a9a666c 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -94,9 +94,9 @@ class Repository::Git < Repository end def entries(path=nil, identifier=nil) - scm.entries(path, - identifier, - options = {:report_last_commit => extra_report_last_commit}) + entries = scm.entries(path, identifier, :report_last_commit => extra_report_last_commit) + load_entries_changesets(entries) + entries end # With SCMs that have a sequential commit numbering, diff --git a/app/views/repositories/_dir_list_content.html.erb b/app/views/repositories/_dir_list_content.html.erb index 779cb79..9cca38f 100644 --- a/app/views/repositories/_dir_list_content.html.erb +++ b/app/views/repositories/_dir_list_content.html.erb @@ -29,12 +29,11 @@ :class => (entry.is_dir? ? 'icon icon-folder' : "icon icon-file #{Redmine::MimeType.css_class_of(ent_name)}")%>