diff lib/redmine/scm/adapters/mercurial_adapter.rb.rej @ 14:1d32c0a0efbf

* Update to SVN trunk (revisions 3892-4040)
author Chris Cannam
date Wed, 25 Aug 2010 16:30:24 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/redmine/scm/adapters/mercurial_adapter.rb.rej	Wed Aug 25 16:30:24 2010 +0100
@@ -0,0 +1,73 @@
+--- lib/redmine/scm/adapters/mercurial_adapter.rb
++++ lib/redmine/scm/adapters/mercurial_adapter.rb
+@@ -67,19 +67,17 @@
+         end
+         
+         def info
+-          cmd = "#{HG_BIN} -R #{target('')} root"
+-          root_url = nil
+-          shellout(cmd) do |io|
+-            root_url = io.gets
+-          end
+-          return nil if $? && $?.exitstatus != 0
+-          info = Info.new({:root_url => root_url.chomp,
+-                            :lastrev => revisions(nil,nil,nil,{:limit => 1}).last
+-                          })
+-          info
+-        rescue CommandFailed
+-          return nil
++          tip = summary['tip'].first
++          Info.new(:root_url => summary['root'].first['path'],
++                   :lastrev => Revision.new(:identifier => tip['rev'].to_i,
++                                            :revision => tip['rev'],
++                                            :scmid => tip['node']))
+         end
++
++        def summary
++          @summary ||= fetchg 'rhsummary'
++        end
++        private :summary
+         
+         def entries(path=nil, identifier=nil)
+           path ||= ''
+--- lib/redmine/scm/adapters/mercurial_adapter.rb
++++ lib/redmine/scm/adapters/mercurial_adapter.rb
+@@ -74,6 +74,16 @@
+                                             :scmid => tip['node']))
+         end
+ 
++        def tags
++          summary['tags'].map { |e| e['name'] }
++        end
++
++        # Returns map of {'tag' => 'nodeid', ...}
++        def tagmap
++          alist = summary['tags'].map { |e| e.values_at('name', 'node') }
++          Hash[*alist.flatten]
++        end
++
+         def summary
+           @summary ||= fetchg 'rhsummary'
+         end
+--- lib/redmine/scm/adapters/mercurial_adapter.rb
++++ lib/redmine/scm/adapters/mercurial_adapter.rb
+@@ -84,6 +84,19 @@
+           Hash[*alist.flatten]
+         end
+ 
++        def branches
++          summary['branches'].map { |e| e['name'] }
++        end
++
++        # Returns map of {'branch' => 'nodeid', ...}
++        def branchmap
++          alist = summary['branches'].map { |e| e.values_at('name', 'node') }
++          Hash[*alist.flatten]
++        end
++
++        # NOTE: DO NOT IMPLEMENT default_branch !!
++        # It's used as the default revision by RepositoriesController.
++
+         def summary
+           @summary ||= fetchg 'rhsummary'
+         end