diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-12-27 18:33:35 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2008-12-27 18:33:35 +0000 |
commit | a7a4c9f848783e51a5e7cee7d374879443cfb2be (patch) | |
tree | e7989ee108ec3f0585dbdbdfe3e858adee25416f /lib | |
parent | 76a9101998f85b543a26edaa7ed5be1b2b54a562 (diff) | |
download | redmine-a7a4c9f848783e51a5e7cee7d374879443cfb2be.tar.gz redmine-a7a4c9f848783e51a5e7cee7d374879443cfb2be.zip |
Fixed: deleted files should not be shown when browsing a Darcs repository (#2385).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2189 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r-- | lib/redmine/scm/adapters/darcs_adapter.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/redmine/scm/adapters/darcs_adapter.rb b/lib/redmine/scm/adapters/darcs_adapter.rb index 4a5183f79..658f06055 100644 --- a/lib/redmine/scm/adapters/darcs_adapter.rb +++ b/lib/redmine/scm/adapters/darcs_adapter.rb @@ -84,7 +84,7 @@ module Redmine end end return nil if $? && $?.exitstatus != 0 - entries.sort_by_name + entries.compact.sort_by_name end def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={}) @@ -148,15 +148,22 @@ module Redmine end private - + + # Returns an Entry from the given XML element + # or nil if the entry was deleted def entry_from_xml(element, path_prefix) + modified_element = element.elements['modified'] + if modified_element.elements['modified_how'].text.match(/removed/) + return nil + end + Entry.new({:name => element.attributes['name'], :path => path_prefix + element.attributes['name'], :kind => element.name == 'file' ? 'file' : 'dir', :size => nil, :lastrev => Revision.new({ :identifier => nil, - :scmid => element.elements['modified'].elements['patch'].attributes['hash'] + :scmid => modified_element.elements['patch'].attributes['hash'] }) }) end |