]> source.dussan.org Git - redmine.git/commitdiff
Fixes: Mercurial adapter loses seconds of commit times (#6656).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 23 Dec 2010 09:56:30 +0000 (09:56 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Thu, 23 Dec 2010 09:56:30 +0000 (09:56 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4561 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/mercurial/hg-template-1.0.tmpl
test/unit/repository_mercurial_test.rb

index 3eef850168e1771a0ea63d0c32c1afe4296739b3..b6cc7a78692bd6bf03d0d79af3b6426f2d3da153 100644 (file)
@@ -1,7 +1,7 @@
 changeset = 'This template must be used with --debug option\n'
 changeset_quiet =  'This template must be used with --debug option\n'
 changeset_verbose = 'This template must be used with --debug option\n'
-changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodate}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
+changeset_debug = '<logentry revision="{rev}" node="{node|short}">\n<author>{author|escape}</author>\n<date>{date|isodatesec}</date>\n<paths>\n{file_mods}{file_adds}{file_dels}{file_copies}</paths>\n<msg>{desc|escape}</msg>\n{tags}</logentry>\n\n'
 
 file_mod = '<path action="M">{file_mod|escape}</path>\n'
 file_add = '<path action="A">{file_add|escape}</path>\n'
index 3e2f5692576ff6f9683b689f3cab93e42a32c039..16e72c35dfff7792dc8033b0333ab558028289f3 100644 (file)
@@ -62,12 +62,20 @@ class RepositoryMercurialTest < ActiveSupport::TestCase
       assert_equal 2, @repository.entries("images", 2).size
     end
 
-
     def test_cat
       assert @repository.scm.cat("sources/welcome_controller.rb", 2)
       assert_nil @repository.scm.cat("sources/welcome_controller.rb")
     end
 
+    def test_isodatesec
+      # Template keyword 'isodatesec' supported in Mercurial 1.0 and higher
+      if @repository.scm.class.client_version_above?([1, 0])
+        @repository.fetch_changesets
+        @repository.reload
+        rev0_committed_on = Time.gm(2007, 12, 14, 9, 22, 52)
+        assert_equal @repository.changesets.find_by_revision('0').committed_on, rev0_committed_on
+      end
+    end
   else
     puts "Mercurial test repository NOT FOUND. Skipping unit tests !!!"
     def test_fake; assert true end