Mercurial > hg > soundsoftware-site
diff lib/redmine/scm/adapters/.svn/text-base/abstract_adapter.rb.svn-base @ 441:cbce1fd3b1b7 redmine-1.2
Update to Redmine 1.2-stable branch (Redmine SVN rev 6000)
author | Chris Cannam |
---|---|
date | Mon, 06 Jun 2011 14:24:13 +0100 |
parents | 051f544170fe |
children | 0c939c159af4 |
line wrap: on
line diff
--- a/lib/redmine/scm/adapters/.svn/text-base/abstract_adapter.rb.svn-base Thu Mar 03 11:42:28 2011 +0000 +++ b/lib/redmine/scm/adapters/.svn/text-base/abstract_adapter.rb.svn-base Mon Jun 06 14:24:13 2011 +0100 @@ -1,16 +1,16 @@ -# redMine - project management software -# Copyright (C) 2006-2007 Jean-Philippe Lang +# Redmine - project management software +# Copyright (C) 2006-2011 Jean-Philippe Lang # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. -# +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. -# +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -90,12 +90,16 @@ def url @url end - + + def path_encoding + nil + end + # get info about the svn repository def info return nil end - + # Returns the entry identified by path and revision identifier # or nil if entry doesn't exist in the repository def entry(path=nil, identifier=nil) @@ -111,10 +115,10 @@ es ? es.detect {|e| e.name == search_name} : nil end end - + # Returns an Entries collection # or nil if the given path doesn't exist in the repository - def entries(path=nil, identifier=nil) + def entries(path=nil, identifier=nil, options={}) return nil end @@ -122,30 +126,30 @@ return nil end - def tags + def tags return nil end def default_branch return nil end - + def properties(path, identifier=nil) return nil end - + def revisions(path=nil, identifier_from=nil, identifier_to=nil, options={}) return nil end - + def diff(path, identifier_from, identifier_to=nil) return nil end - + def cat(path, identifier=nil) return nil end - + def with_leading_slash(path) path ||= '' (path[0,1]!="/") ? "/#{path}" : path @@ -175,7 +179,7 @@ info = self.info info ? info.root_url : nil end - + def target(path) path ||= '' base = path.match(/^\//) ? root_url : url @@ -223,7 +227,7 @@ q = (Redmine::Platform.mswin? ? '"' : "'") cmd.to_s.gsub(/(\-\-(password|username))\s+(#{q}[^#{q}]+#{q}|[^#{q}]\S+)/, '\\1 xxxx') end - + def strip_credential(cmd) self.class.strip_credential(cmd) end @@ -242,7 +246,7 @@ class Entries < Array def sort_by_name - sort {|x,y| + sort {|x,y| if x.kind == y.kind x.name.to_s <=> y.name.to_s else @@ -250,12 +254,12 @@ end } end - + def revisions revisions ||= Revisions.new(collect{|entry| entry.lastrev}.compact) end end - + class Info attr_accessor :root_url, :lastrev def initialize(attributes={}) @@ -263,7 +267,7 @@ self.lastrev = attributes[:lastrev] end end - + class Entry attr_accessor :name, :path, :kind, :size, :lastrev def initialize(attributes={}) @@ -273,20 +277,20 @@ self.size = attributes[:size].to_i if attributes[:size] self.lastrev = attributes[:lastrev] end - + def is_file? 'file' == self.kind end - + def is_dir? 'dir' == self.kind end - + def is_text? Redmine::MimeType.is_type?('text', name) end end - + class Revisions < Array def latest sort {|x,y| @@ -296,53 +300,48 @@ 0 end }.last - end + end end - + class Revision - attr_accessor :scmid, :name, :author, :time, :message, :paths, :revision, :branch - attr_writer :identifier + attr_accessor :scmid, :name, :author, :time, :message, + :paths, :revision, :branch, :identifier def initialize(attributes={}) self.identifier = attributes[:identifier] - self.scmid = attributes[:scmid] - self.name = attributes[:name] || self.identifier - self.author = attributes[:author] - self.time = attributes[:time] - self.message = attributes[:message] || "" - self.paths = attributes[:paths] - self.revision = attributes[:revision] - self.branch = attributes[:branch] - end - - # Returns the identifier of this revision; see also Changeset model - def identifier - (@identifier || revision).to_s + self.scmid = attributes[:scmid] + self.name = attributes[:name] || self.identifier + self.author = attributes[:author] + self.time = attributes[:time] + self.message = attributes[:message] || "" + self.paths = attributes[:paths] + self.revision = attributes[:revision] + self.branch = attributes[:branch] end # Returns the readable identifier. def format_identifier - identifier + self.identifier.to_s end end class Annotate attr_reader :lines, :revisions - + def initialize @lines = [] @revisions = [] end - + def add_line(line, revision) @lines << line @revisions << revision end - + def content content = lines.join("\n") end - + def empty? lines.empty? end