diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-07 10:25:52 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2011-02-07 10:25:52 +0000 |
commit | e9ab2de1e79719f832d4fa8b0bbeebbd55d7bc28 (patch) | |
tree | 3874f1d483632509fa3f5639c2a63466dee841cf /app/models | |
parent | 9c070fe09275cffe8056cd6bd857bbbc38a69015 (diff) | |
download | redmine-e9ab2de1e79719f832d4fa8b0bbeebbd55d7bc28.tar.gz redmine-e9ab2de1e79719f832d4fa8b0bbeebbd55d7bc28.zip |
scm: cvs: change temporary revision number from "_N" to "tmpN" (#996, #3761, #6706).
'_' is SQL "like" special character.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4801 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/repository/cvs.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/app/models/repository/cvs.rb b/app/models/repository/cvs.rb index 3f0e9109c..8ea4f2301 100644 --- a/app/models/repository/cvs.rb +++ b/app/models/repository/cvs.rb @@ -117,7 +117,7 @@ class Repository::Cvs < Repository # we use a temporaray revision number here (just for inserting) # later on, we calculate a continous positive number cs = Changeset.create(:repository => self, - :revision => "_#{tmp_rev_num}", + :revision => "tmp#{tmp_rev_num}", :committer => revision.author, :committed_on => revision.time, :comments => revision.message) @@ -144,11 +144,12 @@ class Repository::Cvs < Repository # Renumber new changesets in chronological order changesets.find( - :all, :order => 'committed_on ASC, id ASC', :conditions => "revision LIKE '_%'" + :all, :order => 'committed_on ASC, id ASC', :conditions => "revision LIKE 'tmp%'" ).each do |changeset| changeset.update_attribute :revision, next_revision_number end end # transaction + @current_revision_number = nil end private @@ -156,7 +157,9 @@ class Repository::Cvs < Repository # Returns the next revision number to assign to a CVS changeset def next_revision_number # Need to retrieve existing revision numbers to sort them as integers - @current_revision_number ||= (connection.select_values("SELECT revision FROM #{Changeset.table_name} WHERE repository_id = #{id} AND revision NOT LIKE '_%'").collect(&:to_i).max || 0) + sql = "SELECT revision FROM #{Changeset.table_name} " + sql << "WHERE repository_id = #{id} AND revision NOT LIKE 'tmp%'" + @current_revision_number ||= (connection.select_values(sql).collect(&:to_i).max || 0) @current_revision_number += 1 end end |