tracker-client 1.0.1 → 1.0.2
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.
- data/bin/tracker +7 -2
- data/lib/command.rb +32 -0
- metadata +1 -1
data/bin/tracker
CHANGED
@@ -30,14 +30,18 @@ def print_usage
|
|
30
30
|
puts 'tracker push - Mark all patches in current branch as PUSHED'
|
31
31
|
puts 'tracker status - Display review status for current branch'
|
32
32
|
puts 'tracker upload - Upload current patches (diffs) to tracker'
|
33
|
-
puts 'tracker download - Download whole patchset from tracker (-i PATCHSET_ID)'
|
33
|
+
puts 'tracker download - Download whole patchset from tracker (-i PATCHSET_ID, -b CREATE_BRANCH)'
|
34
34
|
puts 'tracker apply - Apply patch with specified commit (-i COMMIT_ID)'
|
35
|
+
puts 'tracker list - List all active sets'
|
35
36
|
puts
|
36
37
|
system("#{__FILE__} --help")
|
37
38
|
puts
|
38
39
|
puts 'Examples:'
|
39
40
|
puts
|
40
|
-
puts '$ tracker record -o 45
|
41
|
+
puts '$ tracker record -o 45 # Record current branch and obsolete patchset 45 (bump revision)'
|
42
|
+
puts '$ tracker record -u # Record current branch and upload all patches'
|
43
|
+
puts '$ tracker list new # Display all new or open sets'
|
44
|
+
puts '$ tracker list mfojtik -i author # Display all sets that were recorded by %mfojtik%'
|
41
45
|
''
|
42
46
|
end
|
43
47
|
|
@@ -52,5 +56,6 @@ puts case ARGV[0]
|
|
52
56
|
when 'download' then Tracker::Cmd.download(opts[:dir], ARGV[1], opts[:branch])
|
53
57
|
when 'status' then Tracker::Cmd.status(opts[:dir])
|
54
58
|
when 'apply' then Tracker::Cmd.apply(opts[:dir], ARGV[1])
|
59
|
+
when 'list' then Tracker::Cmd.list(ARGV[1], opts)
|
55
60
|
else print_usage
|
56
61
|
end
|
data/lib/command.rb
CHANGED
@@ -288,6 +288,38 @@ module Tracker
|
|
288
288
|
end
|
289
289
|
end
|
290
290
|
|
291
|
+
def self.list(value, opts={})
|
292
|
+
filter = ''
|
293
|
+
if !value.nil?
|
294
|
+
if ['new', 'ack', 'nack', 'push'].include? value
|
295
|
+
filter += '?filter=status&filter_value=%s' % value
|
296
|
+
elsif !opts[:id].nil?
|
297
|
+
filter += '?filter=%s&filter_value=%s' % [opts[:id], value]
|
298
|
+
else
|
299
|
+
puts "[ERR] To use filters other than status, you must use -i FILTER_NAME parameter"
|
300
|
+
exit 1
|
301
|
+
end
|
302
|
+
end
|
303
|
+
response = RestClient.get(
|
304
|
+
config[:url] + ('/set%s' % filter),
|
305
|
+
{
|
306
|
+
'Accept' => 'application/json'
|
307
|
+
}
|
308
|
+
)
|
309
|
+
set_arr = JSON::parse(response)
|
310
|
+
puts
|
311
|
+
set_arr.each do |set|
|
312
|
+
puts "[%s][%s] \e[1m%s\e[0m (%s patches by %s)" % [
|
313
|
+
set['id'],
|
314
|
+
set['status'].upcase,
|
315
|
+
set['first_patch_message'],
|
316
|
+
set['num_of_patches'],
|
317
|
+
set['author']
|
318
|
+
]
|
319
|
+
end
|
320
|
+
''
|
321
|
+
end
|
322
|
+
|
291
323
|
private
|
292
324
|
|
293
325
|
# Execute GIT command ('git') in the specified directory. Method will then
|