Defect #1435 » git_log_from_db.patch
| app/models/repository/git.rb (working copy) | ||
|---|---|---|
| 28 | 28 |
def self.scm_name |
| 29 | 29 |
'Git' |
| 30 | 30 |
end |
| 31 |
|
|
| 32 |
def entries(path=nil, identifier=nil) |
|
| 33 |
entries=scm.entries(path, identifier) |
|
| 34 |
if entries |
|
| 35 |
entries.each do |entry| |
|
| 36 |
# Search the DB for the entry's last change |
|
| 37 |
change = changes.find(:first, :conditions => ["path = ? OR path LIKE ?", entry.path, "#{entry.path}/%"], :order => "#{Changeset.table_name}.committed_on DESC")
|
|
| 38 |
if change |
|
| 39 |
entry.lastrev.identifier = change.changeset.revision |
|
| 40 |
entry.lastrev.name = change.changeset.revision |
|
| 41 |
entry.lastrev.author = change.changeset.committer |
|
| 42 |
entry.lastrev.revision = change.revision |
|
| 43 |
entry.lastrev.time = change.changeset.committed_on |
|
| 44 |
end |
|
| 45 |
end |
|
| 46 |
end |
|
| 47 |
entries |
|
| 48 |
end |
|
| 31 | 49 | |
| 32 | 50 |
def changesets_for_path(path) |
| 33 | 51 |
Change.find(:all, :include => {:changeset => :user},
|
| lib/redmine/scm/adapters/git_adapter.rb (working copy) | ||
|---|---|---|
| 125 | 125 |
:path => (path.empty? ? name : "#{path}/#{name}"),
|
| 126 | 126 |
:kind => ((type == "tree") ? 'dir' : 'file'), |
| 127 | 127 |
:size => ((type == "tree") ? nil : size), |
| 128 |
:lastrev => get_rev(identifier,(path.empty? ? name : "#{path}/#{name}"))
|
|
| 128 |
:lastrev => Revision.new
|
|
| 129 | 129 |
|
| 130 | 130 |
}) unless entries.detect{|entry| entry.name == name}
|
| 131 | 131 |
end |