Chris@14
|
1 --- lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
2 +++ lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
3 @@ -67,19 +67,17 @@
|
Chris@14
|
4 end
|
Chris@14
|
5
|
Chris@14
|
6 def info
|
Chris@14
|
7 - cmd = "#{HG_BIN} -R #{target('')} root"
|
Chris@14
|
8 - root_url = nil
|
Chris@14
|
9 - shellout(cmd) do |io|
|
Chris@14
|
10 - root_url = io.gets
|
Chris@14
|
11 - end
|
Chris@14
|
12 - return nil if $? && $?.exitstatus != 0
|
Chris@14
|
13 - info = Info.new({:root_url => root_url.chomp,
|
Chris@14
|
14 - :lastrev => revisions(nil,nil,nil,{:limit => 1}).last
|
Chris@14
|
15 - })
|
Chris@14
|
16 - info
|
Chris@14
|
17 - rescue CommandFailed
|
Chris@14
|
18 - return nil
|
Chris@14
|
19 + tip = summary['tip'].first
|
Chris@14
|
20 + Info.new(:root_url => summary['root'].first['path'],
|
Chris@14
|
21 + :lastrev => Revision.new(:identifier => tip['rev'].to_i,
|
Chris@14
|
22 + :revision => tip['rev'],
|
Chris@14
|
23 + :scmid => tip['node']))
|
Chris@14
|
24 end
|
Chris@14
|
25 +
|
Chris@14
|
26 + def summary
|
Chris@14
|
27 + @summary ||= fetchg 'rhsummary'
|
Chris@14
|
28 + end
|
Chris@14
|
29 + private :summary
|
Chris@14
|
30
|
Chris@14
|
31 def entries(path=nil, identifier=nil)
|
Chris@14
|
32 path ||= ''
|
Chris@14
|
33 --- lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
34 +++ lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
35 @@ -74,6 +74,16 @@
|
Chris@14
|
36 :scmid => tip['node']))
|
Chris@14
|
37 end
|
Chris@14
|
38
|
Chris@14
|
39 + def tags
|
Chris@14
|
40 + summary['tags'].map { |e| e['name'] }
|
Chris@14
|
41 + end
|
Chris@14
|
42 +
|
Chris@14
|
43 + # Returns map of {'tag' => 'nodeid', ...}
|
Chris@14
|
44 + def tagmap
|
Chris@14
|
45 + alist = summary['tags'].map { |e| e.values_at('name', 'node') }
|
Chris@14
|
46 + Hash[*alist.flatten]
|
Chris@14
|
47 + end
|
Chris@14
|
48 +
|
Chris@14
|
49 def summary
|
Chris@14
|
50 @summary ||= fetchg 'rhsummary'
|
Chris@14
|
51 end
|
Chris@14
|
52 --- lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
53 +++ lib/redmine/scm/adapters/mercurial_adapter.rb
|
Chris@14
|
54 @@ -84,6 +84,19 @@
|
Chris@14
|
55 Hash[*alist.flatten]
|
Chris@14
|
56 end
|
Chris@14
|
57
|
Chris@14
|
58 + def branches
|
Chris@14
|
59 + summary['branches'].map { |e| e['name'] }
|
Chris@14
|
60 + end
|
Chris@14
|
61 +
|
Chris@14
|
62 + # Returns map of {'branch' => 'nodeid', ...}
|
Chris@14
|
63 + def branchmap
|
Chris@14
|
64 + alist = summary['branches'].map { |e| e.values_at('name', 'node') }
|
Chris@14
|
65 + Hash[*alist.flatten]
|
Chris@14
|
66 + end
|
Chris@14
|
67 +
|
Chris@14
|
68 + # NOTE: DO NOT IMPLEMENT default_branch !!
|
Chris@14
|
69 + # It's used as the default revision by RepositoriesController.
|
Chris@14
|
70 +
|
Chris@14
|
71 def summary
|
Chris@14
|
72 @summary ||= fetchg 'rhsummary'
|
Chris@14
|
73 end
|