autobuild 1.7.3 → 1.7.4.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -117,6 +117,40 @@ module Autobuild
117
117
  end
118
118
  end
119
119
 
120
+ # Computes the merge status for this package between two existing tags
121
+ # Raises if a tag is unknown
122
+ def delta_between_tags(package, from_tag, to_tag)
123
+ Dir.chdir(package.importdir) do
124
+ pkg_tags = tags(package)
125
+ if not pkg_tags.has_key?(from_tag)
126
+ raise ArgumentError, "tag '#{from_tag}' is unknown to #{package.name} -- known tags are: #{pkg_tags.keys}"
127
+ end
128
+ if not pkg_tags.has_key?(to_tag)
129
+ raise ArgumentError, "tag '#{to_tag}' is unknown to #{package.name} -- known tags are: #{pkg_tags.keys}"
130
+ end
131
+
132
+ from_commit = pkg_tags[from_tag]
133
+ to_commit = pkg_tags[to_tag]
134
+
135
+ merge_status(package, to_commit, from_commit)
136
+ end
137
+ end
138
+
139
+ # Retrieve the tags of this packages as a hash mapping to the commit id
140
+ def tags(package)
141
+ Dir.chdir(package.importdir) do
142
+ `git fetch --tags -q`
143
+ tag_list = `git show-ref --tags`
144
+ tag_list = tag_list.split("\n")
145
+ @tags ||= Hash.new
146
+ tag_list.each do |entry|
147
+ commit_to_tag = entry.split(" ")
148
+ @tags[commit_to_tag[1].sub("refs/tags/","")] = commit_to_tag[0]
149
+ end
150
+ @tags
151
+ end
152
+ end
153
+
120
154
  # Fetches updates from the remote repository. Returns the remote commit
121
155
  # ID on success, nil on failure. Expects the current directory to be the
122
156
  # package's source directory.
@@ -1,5 +1,5 @@
1
1
  module Autobuild
2
- VERSION = "1.7.3" unless defined? Autobuild::VERSION
2
+ VERSION = "1.7.4.rc1" unless defined? Autobuild::VERSION
3
3
  end
4
4
 
5
5
 
metadata CHANGED
@@ -1,109 +1,111 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: autobuild
3
- version: !ruby/object:Gem::Version
4
- version: 1.7.3
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ hash: 941199147
5
+ prerelease: 6
6
+ segments:
7
+ - 1
8
+ - 7
9
+ - 4
10
+ - rc
11
+ - 1
12
+ version: 1.7.4.rc1
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - Sylvain Joyeux
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2013-07-01 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2013-07-26 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
15
23
  name: rake
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 0.9.0
22
- type: :runtime
23
24
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
+ requirement: &id001 !ruby/object:Gem::Requirement
25
26
  none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 59
31
+ segments:
32
+ - 0
33
+ - 9
34
+ - 0
29
35
  version: 0.9.0
30
- - !ruby/object:Gem::Dependency
31
- name: utilrb
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: 1.6.0
38
36
  type: :runtime
37
+ version_requirements: *id001
38
+ - !ruby/object:Gem::Dependency
39
+ name: utilrb
39
40
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
+ requirement: &id002 !ruby/object:Gem::Requirement
41
42
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ hash: 15
47
+ segments:
48
+ - 1
49
+ - 6
50
+ - 0
45
51
  version: 1.6.0
46
- - !ruby/object:Gem::Dependency
47
- name: highline
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
52
  type: :runtime
53
+ version_requirements: *id002
54
+ - !ruby/object:Gem::Dependency
55
+ name: highline
55
56
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: &id003 !ruby/object:Gem::Requirement
57
58
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ hash: 3
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ type: :runtime
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
63
69
  name: rdoc
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '4.0'
70
- type: :development
71
70
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '4.0'
78
- - !ruby/object:Gem::Dependency
79
- name: hoe
80
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &id004 !ruby/object:Gem::Requirement
81
72
  none: false
82
- requirements:
73
+ requirements:
83
74
  - - ~>
84
- - !ruby/object:Gem::Version
85
- version: '3.6'
75
+ - !ruby/object:Gem::Version
76
+ hash: 27
77
+ segments:
78
+ - 4
79
+ - 0
80
+ version: "4.0"
86
81
  type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: hoe
87
85
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
86
+ requirement: &id005 !ruby/object:Gem::Requirement
89
87
  none: false
90
- requirements:
88
+ requirements:
91
89
  - - ~>
92
- - !ruby/object:Gem::Version
93
- version: '3.6'
94
- description: Collection of classes to handle build systems (CMake, autotools, ...)
95
- and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration
96
- to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj)
97
- integrated software project management tool.
90
+ - !ruby/object:Gem::Version
91
+ hash: 9
92
+ segments:
93
+ - 3
94
+ - 7
95
+ version: "3.7"
96
+ type: :development
97
+ version_requirements: *id005
98
+ description: Collection of classes to handle build systems (CMake, autotools, ...) and import mechanisms (tarballs, CVS, SVN, git, ...). It also offers a Rake integration to import and build such software packages. It is the backbone of the autoproj (http://rock-robotics.org/autoproj) integrated software project management tool.
98
99
  email: rock-dev@dfki.de
99
- executables:
100
+ executables:
100
101
  - autobuild
101
102
  extensions: []
102
- extra_rdoc_files:
103
+
104
+ extra_rdoc_files:
103
105
  - Changes.txt
104
106
  - Manifest.txt
105
107
  - README.txt
106
- files:
108
+ files:
107
109
  - Changes.txt
108
110
  - Manifest.txt
109
111
  - README.txt
@@ -149,34 +151,44 @@ files:
149
151
  - test/tools.rb
150
152
  - .gemtest
151
153
  homepage: http://rock-robotics.org/stable/documentation/autoproj
152
- licenses: []
154
+ licenses:
155
+ - MIT
153
156
  post_install_message:
154
- rdoc_options:
157
+ rdoc_options:
155
158
  - --main
156
159
  - README.txt
157
- require_paths:
160
+ require_paths:
158
161
  - lib
159
- required_ruby_version: !ruby/object:Gem::Requirement
162
+ required_ruby_version: !ruby/object:Gem::Requirement
160
163
  none: false
161
- requirements:
162
- - - ! '>='
163
- - !ruby/object:Gem::Version
164
- version: '0'
165
- required_rubygems_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
170
+ version: "0"
171
+ required_rubygems_version: !ruby/object:Gem::Requirement
166
172
  none: false
167
- requirements:
168
- - - ! '>='
169
- - !ruby/object:Gem::Version
170
- version: '0'
173
+ requirements:
174
+ - - ">"
175
+ - !ruby/object:Gem::Version
176
+ hash: 25
177
+ segments:
178
+ - 1
179
+ - 3
180
+ - 1
181
+ version: 1.3.1
171
182
  requirements: []
183
+
172
184
  rubyforge_project: autobuild
173
- rubygems_version: 1.8.23
185
+ rubygems_version: 1.8.24
174
186
  signing_key:
175
187
  specification_version: 3
176
188
  summary: Library to handle build systems and import mechanisms
177
- test_files:
178
- - test/test_import_tar.rb
179
- - test/test_subcommand.rb
189
+ test_files:
180
190
  - test/test_reporting.rb
191
+ - test/test_subcommand.rb
181
192
  - test/test_import_svn.rb
182
193
  - test/test_import_cvs.rb
194
+ - test/test_import_tar.rb