OSDN Git Service

Fixed: MercurialAdapter.client_version depends on LANG environment variable (#5117).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 20 Nov 2010 14:04:22 +0000 (14:04 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 20 Nov 2010 14:04:22 +0000 (14:04 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4417 e93f8b46-1217-0410-a6f0-8f06a7374b81

lib/redmine/scm/adapters/mercurial_adapter.rb
test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb

index 9d5e9aa..c1be575 100644 (file)
@@ -38,13 +38,13 @@ module Redmine
             # release number (eg 0.9.5 or 1.0) or as a revision
             # id composed of 12 hexa characters.
             theversion = hgversion_from_command_line
-            if theversion.match(/^\d+(\.\d+)+/)
-              theversion.split(".").collect(&:to_i)
+            if m = theversion.match(/\b\d+(\.\d+)+\b/)
+              m[0].split(".").collect(&:to_i)
             end
           end
           
           def hgversion_from_command_line
-            %x{#{HG_BIN} --version}.match(/\(version (.*)\)/)[1]
+            %x{#{HG_BIN} --version}.lines.first.to_s
           end
           
           def template_path
index 7396a39..cefc9c7 100644 (file)
@@ -11,11 +11,12 @@ begin
     REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository'
     
     def test_hgversion
-      to_test = { "0.9.5" => [0,9,5],
-                  "1.0" => [1,0],
-                  "1e4ddc9ac9f7+20080325" => nil,
-                  "1.0.1+20080525" => [1,0,1],
-                  "1916e629a29d" => nil}
+      to_test = { "Mercurial Distributed SCM (version 0.9.5)\n" => [0,9,5],
+                  "Mercurial Distributed SCM (1.0)\n" => [1,0],
+                  "Mercurial Distributed SCM (1e4ddc9ac9f7+20080325)\n" => nil,
+                  "Mercurial Distributed SCM (1.0.1+20080525)\n" => [1,0,1],
+                  "Mercurial Distributed SCM (1916e629a29d)\n" => nil,
+                  "Mercurial SCM Distribuito (versione 0.9.5)\n" => [0,9,5]}
       
       to_test.each do |s, v|
         test_hgversion_for(s, v)