comparison app/models/repository/.svn/text-base/cvs.rb.svn-base @ 245:051f544170fe

* Update to SVN trunk revision 4993
author Chris Cannam
date Thu, 03 Mar 2011 11:42:28 +0000
parents 0579821a129a
children cbce1fd3b1b7
comparison
equal deleted inserted replaced
244:8972b600f4fb 245:051f544170fe
17 17
18 require 'redmine/scm/adapters/cvs_adapter' 18 require 'redmine/scm/adapters/cvs_adapter'
19 require 'digest/sha1' 19 require 'digest/sha1'
20 20
21 class Repository::Cvs < Repository 21 class Repository::Cvs < Repository
22 validates_presence_of :url, :root_url 22 validates_presence_of :url, :root_url, :log_encoding
23 23
24 def scm_adapter 24 ATTRIBUTE_KEY_NAMES = {
25 "url" => "CVSROOT",
26 "root_url" => "Module",
27 "log_encoding" => "Commit messages encoding",
28 }
29 def self.human_attribute_name(attribute_key_name)
30 ATTRIBUTE_KEY_NAMES[attribute_key_name] || super
31 end
32
33 def self.scm_adapter_class
25 Redmine::Scm::Adapters::CvsAdapter 34 Redmine::Scm::Adapters::CvsAdapter
26 end 35 end
27 36
28 def self.scm_name 37 def self.scm_name
29 'CVS' 38 'CVS'
30 end 39 end
31 40
32 def entry(path=nil, identifier=nil) 41 def entry(path=nil, identifier=nil)
33 rev = identifier.nil? ? nil : changesets.find_by_revision(identifier) 42 rev = identifier.nil? ? nil : changesets.find_by_revision(identifier)
34 scm.entry(path, rev.nil? ? nil : rev.committed_on) 43 scm.entry(path, rev.nil? ? nil : rev.committed_on)
35 end 44 end
36 45
105 # only add the change to the database, if it doen't exists. the cvs log 114 # only add the change to the database, if it doen't exists. the cvs log
106 # is not exclusive at all. 115 # is not exclusive at all.
107 tmp_time = revision.time.clone 116 tmp_time = revision.time.clone
108 unless changes.find_by_path_and_revision( 117 unless changes.find_by_path_and_revision(
109 scm.with_leading_slash(revision.paths[0][:path]), revision.paths[0][:revision]) 118 scm.with_leading_slash(revision.paths[0][:path]), revision.paths[0][:revision])
119 cmt = Changeset.normalize_comments(revision.message, repo_log_encoding)
110 cs = changesets.find(:first, :conditions=>{ 120 cs = changesets.find(:first, :conditions=>{
111 :committed_on=>tmp_time - time_delta .. tmp_time + time_delta, 121 :committed_on=>tmp_time - time_delta .. tmp_time + time_delta,
112 :committer=>revision.author, 122 :committer=>revision.author,
113 :comments=>Changeset.normalize_comments(revision.message) 123 :comments=>cmt
114 }) 124 })
115 125
116 # create a new changeset.... 126 # create a new changeset....
117 unless cs 127 unless cs
118 # we use a temporaray revision number here (just for inserting) 128 # we use a temporaray revision number here (just for inserting)