Mercurial > hg > soundsoftware-site
comparison app/models/repository/cvs.rb @ 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) |