OSDN Git Service

scm: cvs: fix age column on repository view is off by timezone delta (#7827).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Fri, 11 Mar 2011 04:19:33 +0000 (04:19 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Fri, 11 Mar 2011 04:19:33 +0000 (04:19 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5088 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/cvs_adapter.rb
test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb

index 194b6e8..9827b89 100644 (file)
@@ -107,6 +107,16 @@ module Redmine
               fields = line.chop.split('/',-1)
               logger.debug(">>InspectLine #{fields.inspect}")
               if fields[0]!="D"
+                time = nil
+                # Thu Dec 13 16:27:22 2007
+                time_l = fields[-3].split(' ')
+                if time_l.size == 5 && time_l[4].length == 4
+                  begin
+                    time = Time.parse(
+                             "#{time_l[1]} #{time_l[2]} #{time_l[3]} GMT #{time_l[4]}")
+                  rescue
+                  end
+                end
                 entries << Entry.new(
                  {
                   :name => fields[-5],
@@ -118,7 +128,7 @@ module Redmine
                       {
                         :revision => fields[-4],
                         :name => fields[-4],
-                        :time => Time.parse(fields[-3]),
+                        :time => time,
                         :author => ''
                       })
                   })
index b6155ea..197d7df 100644 (file)
@@ -39,6 +39,14 @@ begin
         assert_equal 2, cnt
       end
 
+      def test_entries_rev3
+        rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
+        entries = @adapter.entries('sources', rev3_committed_on)
+        assert_equal 2, entries.size
+        assert_equal entries[0].name, "watchers_controller.rb"
+        assert_equal entries[0].lastrev.time, Time.gm(2007, 12, 13, 16, 27, 22)
+      end
+
       private
 
       def test_scm_version_for(scm_command_version, version)