git-review 0.7.9 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/git-review.rb +42 -39
  2. metadata +5 -5
data/lib/git-review.rb CHANGED
@@ -18,9 +18,9 @@ class GitReview
18
18
  next if merged?(pending_request['head']['sha'])
19
19
  line = format_text(pending_request['number'], 8)
20
20
  date_string = format_time(pending_request['updated_at'])
21
- line += format_text(date_string, 11)
22
- line += format_text(pending_request['comments'], 10)
23
- line += format_text(pending_request['title'], 91)
21
+ line << format_text(date_string, 11)
22
+ line << format_text(pending_request['comments'], 10)
23
+ line << format_text(pending_request['title'], 91)
24
24
  line
25
25
  end
26
26
  if output.compact.empty?
@@ -37,47 +37,20 @@ class GitReview
37
37
  return unless request_exists?
38
38
  option = @args.shift == '--full' ? '' : '--stat '
39
39
  sha = @pending_request['head']['sha']
40
- puts "ID : #{@pending_request['number']}"
41
- puts "Label : #{@pending_request['head']['label']}"
42
- puts "Updated : #{format_time(@pending_request['updated_at'])}"
43
- puts "Comments : #{@pending_request['comments']}"
40
+ puts "ID : #{@pending_request['number']}"
41
+ puts "Label : #{@pending_request['head']['label']}"
42
+ puts "Updated : #{format_time(@pending_request['updated_at'])}"
43
+ puts "Comments : #{@pending_request['comments']}"
44
44
  puts
45
45
  puts @pending_request['title']
46
46
  puts
47
47
  puts @pending_request['body']
48
48
  puts
49
49
  puts git_call("diff --color=always #{option}HEAD...#{sha}")
50
- end
51
-
52
- # Show current discussion for a single request.
53
- def discussion
54
- return unless request_exists?
55
- request = Octokit.pull_request(source_repo, @pending_request['number'])
56
- discussion = request['discussion'][1..-1]
57
- result = discussion.collect do |entry|
58
- # For now we only show comments and commits.
59
- if ["IssueComment", "Commit"].include?(entry['type'])
60
- output = "'#{entry["user"]["login"]}' "
61
- case entry['type']
62
- # Comments:
63
- when "IssueComment"
64
- output << "added a comment on #{format_time(entry['created_at'])}"
65
- unless entry['created_at'] == entry['updated_at']
66
- output << " (updated on #{format_time(entry['updated_at'])})"
67
- end
68
- output << ":\n#{''.rjust(output.length + 1, "-")}\n#{entry["body"]}"
69
- # Commits:
70
- when "Commit"
71
- output << "authored a commit on #{format_time(entry['authored_date'])}"
72
- unless entry['authored_date'] == entry['committed_date']
73
- output << " (committed on #{format_time(entry['committed_date'])})"
74
- end
75
- output << ":\n#{''.rjust(output.length + 1, "-")}\n#{entry["message"]}"
76
- end
77
- output << "\n\n"
78
- end
79
- end
80
- puts result.compact unless result.empty?
50
+ puts
51
+ puts "Progress :"
52
+ puts
53
+ discussion
81
54
  end
82
55
 
83
56
  # Open a browser window and review a specified request.
@@ -182,6 +155,7 @@ class GitReview
182
155
  # Start a console session (used for debugging).
183
156
  def console
184
157
  puts 'Entering debug console.'
158
+ request_exists?
185
159
  require 'ruby-debug'
186
160
  Debugger.start
187
161
  debugger
@@ -217,7 +191,6 @@ class GitReview
217
191
  puts 'Available commands:'
218
192
  puts ' list [--reverse] List all pending requests.'
219
193
  puts ' show <ID> [--full] Show details for a single request.'
220
- puts ' discussion <number> Shows ongoing discussions for a single request.'
221
194
  puts ' browse <ID> Open a browser window and review a specified request.'
222
195
  puts ' checkout <ID> [--branch] Checkout a specified request\'s changes to your local repository.'
223
196
  puts ' merge <ID> Accept a specified request by merging it into master.'
@@ -271,6 +244,36 @@ class GitReview
271
244
  output
272
245
  end
273
246
 
247
+ # Show current discussion for @pending_request.
248
+ def discussion
249
+ request = Octokit.pull_request(source_repo, @pending_request['number'])
250
+ result = request['discussion'].collect do |entry|
251
+ output = "\e[35m#{entry["user"]["login"]}\e[m "
252
+ case entry['type']
253
+ # Comments:
254
+ when "IssueComment", "CommitComment", "PullRequestReviewComment"
255
+ output << "added a comment"
256
+ output << " to \e[36m#{entry['commit_id'][0..6]}\e[m" if entry['commit_id']
257
+ output << " on #{format_time(entry['created_at'])}"
258
+ unless entry['created_at'] == entry['updated_at']
259
+ output << " (updated on #{format_time(entry['updated_at'])})"
260
+ end
261
+ output << ":\n#{''.rjust(output.length + 1, "-")}\n"
262
+ output << "> \e[32m#{entry['path']}:#{entry['position']}\e[m\n" if entry['path'] and entry['position']
263
+ output << entry['body']
264
+ # Commits:
265
+ when "Commit"
266
+ output << "authored commit \e[36m#{entry['id'][0..6]}\e[m on #{format_time(entry['authored_date'])}"
267
+ unless entry['authored_date'] == entry['committed_date']
268
+ output << " (committed on #{format_time(entry['committed_date'])})"
269
+ end
270
+ output << ":\n#{''.rjust(output.length + 1, "-")}\n#{entry["message"]}"
271
+ end
272
+ output << "\n\n\n"
273
+ end
274
+ puts result.compact unless result.empty?
275
+ end
276
+
274
277
  # Display helper to make output more configurable.
275
278
  def format_text(info, size)
276
279
  info.to_s.gsub("\n", ' ')[0, size-1].ljust(size)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-review
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 61
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 7
9
- - 9
10
- version: 0.7.9
8
+ - 8
9
+ - 1
10
+ version: 0.8.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dominik Bamberger, Cristian Messel
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-16 00:00:00 +01:00
18
+ date: 2011-12-19 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency