geet 0.3.14 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +8 -0
  4. data/README.md +4 -8
  5. data/bin/geet +23 -8
  6. data/geet.gemspec +1 -1
  7. data/lib/geet/commandline/commands.rb +4 -0
  8. data/lib/geet/commandline/configuration.rb +26 -1
  9. data/lib/geet/git/repository.rb +21 -3
  10. data/lib/geet/github/api_interface.rb +2 -0
  11. data/lib/geet/github/branch.rb +1 -1
  12. data/lib/geet/github/issue.rb +2 -2
  13. data/lib/geet/github/label.rb +2 -2
  14. data/lib/geet/github/milestone.rb +29 -2
  15. data/lib/geet/github/pr.rb +1 -2
  16. data/lib/geet/github/remote_repository.rb +37 -0
  17. data/lib/geet/github/user.rb +2 -2
  18. data/lib/geet/gitlab/api_interface.rb +2 -0
  19. data/lib/geet/gitlab/label.rb +2 -2
  20. data/lib/geet/gitlab/milestone.rb +1 -1
  21. data/lib/geet/gitlab/user.rb +1 -1
  22. data/lib/geet/helpers/os_helper.rb +4 -3
  23. data/lib/geet/services/add_upstream_repo.rb +37 -0
  24. data/lib/geet/services/close_milestones.rb +46 -0
  25. data/lib/geet/services/comment_pr.rb +2 -2
  26. data/lib/geet/services/create_issue.rb +5 -3
  27. data/lib/geet/services/create_milestone.rb +24 -0
  28. data/lib/geet/services/create_pr.rb +10 -6
  29. data/lib/geet/services/list_issues.rb +4 -1
  30. data/lib/geet/services/merge_pr.rb +55 -4
  31. data/lib/geet/services/open_repo.rb +50 -0
  32. data/lib/geet/shared/selection.rb +3 -0
  33. data/lib/geet/utils/attributes_selection_manager.rb +12 -3
  34. data/lib/geet/utils/git_client.rb +122 -29
  35. data/lib/geet/version.rb +1 -1
  36. data/spec/integration/comment_pr_spec.rb +1 -1
  37. data/spec/integration/create_issue_spec.rb +4 -4
  38. data/spec/integration/create_label_spec.rb +5 -5
  39. data/spec/integration/create_milestone_spec.rb +34 -0
  40. data/spec/integration/create_pr_spec.rb +13 -8
  41. data/spec/integration/list_issues_spec.rb +6 -6
  42. data/spec/integration/list_labels_spec.rb +4 -4
  43. data/spec/integration/list_milestones_spec.rb +4 -4
  44. data/spec/integration/list_prs_spec.rb +3 -3
  45. data/spec/integration/merge_pr_spec.rb +33 -4
  46. data/spec/integration/open_pr_spec.rb +1 -1
  47. data/spec/integration/open_repo_spec.rb +46 -0
  48. data/spec/vcr_cassettes/create_issue.yml +1 -1
  49. data/spec/vcr_cassettes/create_issue_upstream.yml +1 -1
  50. data/spec/vcr_cassettes/github_com/create_milestone.yml +82 -0
  51. metadata +11 -4
@@ -12,7 +12,7 @@ describe Geet::Services::ListIssues do
12
12
 
13
13
  context 'with github.com' do
14
14
  it 'should list the default issues' do
15
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/testrepo')
15
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/testrepo')
16
16
 
17
17
  expected_output = <<~STR
18
18
  5. Title 2 (https://github.com/donaldduck/testrepo/issues/5)
@@ -34,7 +34,7 @@ describe Geet::Services::ListIssues do
34
34
 
35
35
  context 'with assignee filtering' do
36
36
  it 'should list the issues' do
37
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/testrepo_gh')
37
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/testrepo_gh')
38
38
 
39
39
  expected_output = <<~STR
40
40
  Finding collaborators...
@@ -57,8 +57,8 @@ describe Geet::Services::ListIssues do
57
57
  end
58
58
 
59
59
  it 'should list the upstream issues' do
60
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/testrepo_2f')
61
- allow(git_client).to receive(:remote).with('upstream').and_return('git@github.com:donald-fr/testrepo_u')
60
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/testrepo_2f')
61
+ allow(git_client).to receive(:remote).with(name: 'upstream').and_return('git@github.com:donald-fr/testrepo_u')
62
62
 
63
63
  expected_output = <<~STR
64
64
  2. Title 2 U (https://github.com/donald-fr/testrepo_u/issues/2)
@@ -81,7 +81,7 @@ describe Geet::Services::ListIssues do
81
81
 
82
82
  context 'with gitlab.com' do
83
83
  it 'should list the issues' do
84
- allow(git_client).to receive(:remote).with('origin').and_return('git@gitlab.com:donaldduck/testproject')
84
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@gitlab.com:donaldduck/testproject')
85
85
 
86
86
  expected_output = <<~STR
87
87
  2. I like more pizza (https://gitlab.com/donaldduck/testproject/issues/2)
@@ -103,7 +103,7 @@ describe Geet::Services::ListIssues do
103
103
 
104
104
  context 'with assignee filtering' do
105
105
  it 'should list the issues' do
106
- allow(git_client).to receive(:remote).with('origin').and_return('git@gitlab.com:donaldduck/testproject')
106
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@gitlab.com:donaldduck/testproject')
107
107
 
108
108
  expected_output = <<~STR
109
109
  Finding collaborators...
@@ -12,7 +12,7 @@ describe Geet::Services::ListLabels do
12
12
 
13
13
  context 'with github.com' do
14
14
  it 'should list the labels' do
15
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/geet')
15
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/geet')
16
16
 
17
17
  expected_output = <<~STR
18
18
  - bug (#ee0701)
@@ -34,8 +34,8 @@ describe Geet::Services::ListLabels do
34
34
  end
35
35
 
36
36
  it 'should list the upstream labels' do
37
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/geet')
38
- allow(git_client).to receive(:remote).with('upstream').and_return('git@github.com:donaldduck-fr/testrepo_u')
37
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/geet')
38
+ allow(git_client).to receive(:remote).with(name: 'upstream').and_return('git@github.com:donaldduck-fr/testrepo_u')
39
39
 
40
40
  expected_output = <<~STR
41
41
  - bug (#ee0701)
@@ -57,7 +57,7 @@ describe Geet::Services::ListLabels do
57
57
 
58
58
  context 'with gitlab.com' do
59
59
  it 'should list the labels' do
60
- allow(git_client).to receive(:remote).with('origin').and_return('git@gitlab.com:donaldduck/testproject')
60
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@gitlab.com:donaldduck/testproject')
61
61
 
62
62
  expected_output = <<~STR
63
63
  - bug (#d9534f)
@@ -12,7 +12,7 @@ describe Geet::Services::ListMilestones do
12
12
 
13
13
  context 'with github.com' do
14
14
  it 'should list the milestones' do
15
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donaldduck/geet')
15
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donaldduck/geet')
16
16
 
17
17
  expected_output = <<~STR
18
18
  Finding milestones...
@@ -50,8 +50,8 @@ describe Geet::Services::ListMilestones do
50
50
  end
51
51
 
52
52
  it 'should list the upstream milestones' do
53
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donald-fr/testrepo_downstream')
54
- allow(git_client).to receive(:remote).with('upstream').and_return('git@github.com:donaldduck/testrepo_upstream')
53
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donald-fr/testrepo_downstream')
54
+ allow(git_client).to receive(:remote).with(name: 'upstream').and_return('git@github.com:donaldduck/testrepo_upstream')
55
55
 
56
56
  expected_output = <<~STR
57
57
  Finding milestones...
@@ -80,7 +80,7 @@ describe Geet::Services::ListMilestones do
80
80
 
81
81
  context 'with gitlab.com' do
82
82
  it 'should list the milestones' do
83
- allow(git_client).to receive(:remote).with('origin').and_return('git@gitlab.com:donaldduck/testproject')
83
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@gitlab.com:donaldduck/testproject')
84
84
 
85
85
  expected_output = <<~STR
86
86
  Finding milestones...
@@ -11,7 +11,7 @@ describe Geet::Services::ListPrs do
11
11
  let(:upstream_repository) { Geet::Git::Repository.new(upstream: true, git_client: git_client) }
12
12
 
13
13
  it 'should list the PRs' do
14
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donald-fr/testrepo_downstream')
14
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donald-fr/testrepo_downstream')
15
15
 
16
16
  expected_output = <<~STR
17
17
  2. Add testfile3 (downstream) (https://github.com/donald-fr/testrepo_downstream/pull/2)
@@ -32,8 +32,8 @@ describe Geet::Services::ListPrs do
32
32
  end
33
33
 
34
34
  it 'should list the upstream PRs' do
35
- allow(git_client).to receive(:remote).with('origin').and_return('git@github.com:donald-fr/testrepo_downstream')
36
- allow(git_client).to receive(:remote).with('upstream').and_return('git@github.com:donaldduck/testrepo_upstream')
35
+ allow(git_client).to receive(:remote).with(no_args).and_return('git@github.com:donald-fr/testrepo_downstream')
36
+ allow(git_client).to receive(:remote).with(name: 'upstream').and_return('git@github.com:donaldduck/testrepo_upstream')
37
37
 
38
38
  expected_output = <<~STR
39
39
  2. Add testfile3 (upstream) (https://github.com/donaldduck/testrepo_upstream/pull/2)
@@ -5,23 +5,42 @@ require 'spec_helper'
5
5
  require_relative '../../lib/geet/git/repository'
6
6
  require_relative '../../lib/geet/services/merge_pr'
7
7
 
8
+ # Currently disabled: it requires updates following the addition of the automatic removal of the local
9
+ # branch.
10
+ # Specifically, `GitClient#upstream_branch_gone?` needs to be handled, since it returns the current
11
+ # branch, while it's supposed to return
12
+ #
8
13
  describe Geet::Services::MergePr do
9
14
  let(:git_client) { Geet::Utils::GitClient.new }
10
15
  let(:repository) { Geet::Git::Repository.new(git_client: git_client) }
11
16
  let(:owner) { 'donaldduck' }
12
17
  let(:branch) { 'mybranch' }
18
+ let(:main_branch) { 'main' }
19
+
20
+ before :each do
21
+ expect(git_client).to receive(:fetch)
22
+ expect(git_client).to receive(:upstream_branch_gone?).and_return(true)
23
+ expect(git_client).to receive(:checkout).with(main_branch)
24
+ expect(git_client).to receive(:rebase)
25
+ expect(git_client).to receive(:delete_branch).with('mybranch')
26
+ end
13
27
 
14
28
  context 'with github.com' do
15
29
  let(:repository_name) { 'testrepo_upstream' }
16
30
 
17
31
  it 'should merge the PR for the current branch' do
18
32
  allow(git_client).to receive(:current_branch).and_return(branch)
19
- allow(git_client).to receive(:remote).with('origin').and_return("git@github.com:#{owner}/#{repository_name}")
33
+ allow(git_client).to receive(:main_branch).and_return(main_branch)
34
+ allow(git_client).to receive(:remote).with(no_args).and_return("git@github.com:#{owner}/#{repository_name}")
20
35
 
21
36
  expected_pr_number = 1
22
37
  expected_output = <<~STR
23
38
  Finding PR with head (#{owner}:#{branch})...
24
39
  Merging PR ##{expected_pr_number}...
40
+ Fetching repository...
41
+ Checking out #{main_branch}...
42
+ Rebasing...
43
+ Deleting local branch mybranch...
25
44
  STR
26
45
 
27
46
  actual_output = StringIO.new
@@ -38,13 +57,18 @@ describe Geet::Services::MergePr do
38
57
 
39
58
  it 'should merge the PR for the current branch, with branch deletion' do
40
59
  allow(git_client).to receive(:current_branch).and_return(branch)
41
- allow(git_client).to receive(:remote).with('origin').and_return("git@github.com:#{owner}/#{repository_name}")
60
+ allow(git_client).to receive(:main_branch).and_return(main_branch)
61
+ allow(git_client).to receive(:remote).with(no_args).and_return("git@github.com:#{owner}/#{repository_name}")
42
62
 
43
63
  expected_pr_number = 2
44
64
  expected_output = <<~STR
45
65
  Finding PR with head (#{owner}:#{branch})...
46
66
  Merging PR ##{expected_pr_number}...
47
- Deleting branch #{branch}...
67
+ Deleting remote branch #{branch}...
68
+ Fetching repository...
69
+ Checking out #{main_branch}...
70
+ Rebasing...
71
+ Deleting local branch mybranch...
48
72
  STR
49
73
 
50
74
  actual_output = StringIO.new
@@ -65,12 +89,17 @@ describe Geet::Services::MergePr do
65
89
 
66
90
  it 'should merge the PR for the current branch' do
67
91
  allow(git_client).to receive(:current_branch).and_return(branch)
68
- allow(git_client).to receive(:remote).with('origin').and_return("git@gitlab.com:#{owner}/#{repository_name}")
92
+ allow(git_client).to receive(:main_branch).and_return(main_branch)
93
+ allow(git_client).to receive(:remote).with(no_args).and_return("git@gitlab.com:#{owner}/#{repository_name}")
69
94
 
70
95
  expected_pr_number = 4
71
96
  expected_output = <<~STR
72
97
  Finding PR with head (#{owner}:#{branch})...
73
98
  Merging PR ##{expected_pr_number}...
99
+ Fetching repository...
100
+ Checking out #{main_branch}...
101
+ Rebasing...
102
+ Deleting local branch mybranch...
74
103
  STR
75
104
 
76
105
  actual_output = StringIO.new
@@ -16,7 +16,7 @@ describe Geet::Services::OpenPr do
16
16
 
17
17
  it 'should open the PR for the current branch' do
18
18
  allow(git_client).to receive(:current_branch).and_return(branch)
19
- allow(git_client).to receive(:remote).with('origin').and_return("git@github.com:#{owner}/#{repository_name}")
19
+ allow(git_client).to receive(:remote).with(no_args).and_return("git@github.com:#{owner}/#{repository_name}")
20
20
 
21
21
  expected_pr_number = 3
22
22
  expected_output = <<~STR
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ require_relative '../../lib/geet/git/repository'
6
+ require_relative '../../lib/geet/services/open_repo'
7
+
8
+ module Geet
9
+ describe Services::OpenRepo do
10
+ let(:git_client) { Utils::GitClient.new }
11
+ let(:repository) { Git::Repository.new(git_client: git_client) }
12
+
13
+ OWNER = 'donaldduck'
14
+ REPOSITORY_NAME = 'testrepo'
15
+
16
+ REMOTE_URLS = {
17
+ 'git' => "git@github.com:#{OWNER}/#{REPOSITORY_NAME}",
18
+ 'https' => "https://github.com/#{OWNER}/#{REPOSITORY_NAME}",
19
+ }
20
+
21
+ context 'should open the PR for the current branch' do
22
+ REMOTE_URLS.each do |protocol, remote_url|
23
+ it "with #{protocol} protocol" do
24
+ allow(git_client).to receive(:remote).with(no_args).and_return(remote_url)
25
+
26
+ expected_url = "https://github.com/#{OWNER}/#{REPOSITORY_NAME}"
27
+ expected_output = ""
28
+
29
+ actual_output = StringIO.new
30
+ service_instance = described_class.new(repository, out: actual_output, git_client: git_client)
31
+
32
+ expect(service_instance).to receive(:open_file_with_default_application).with(expected_url) do
33
+ # do nothing; just don't open the browser
34
+ end
35
+
36
+ execution_result = VCR.use_cassette('github_com/open_repo') do
37
+ service_instance.execute
38
+ end
39
+
40
+ expect(actual_output.string).to eql(expected_output)
41
+ expect(execution_result).to eql(expected_url)
42
+ end
43
+ end
44
+ end # context 'should open the PR for the current branch'
45
+ end # describe Services::OpenRepo
46
+ end # module Geet
@@ -608,7 +608,7 @@ http_interactions:
608
608
  uri: https://api.github.com/repos/donaldduck/testrepo_f/issues
609
609
  body:
610
610
  encoding: UTF-8
611
- string: '{"title":"Title","body":"Description","base":"master"}'
611
+ string: '{"title":"Title","body":"Description"}'
612
612
  headers:
613
613
  Accept-Encoding:
614
614
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
@@ -152,7 +152,7 @@ http_interactions:
152
152
  uri: https://api.github.com/repos/momcorp/therepo/issues
153
153
  body:
154
154
  encoding: UTF-8
155
- string: '{"title":"Title","body":"Description","base":"master"}'
155
+ string: '{"title":"Title","body":"Description"}'
156
156
  headers:
157
157
  Accept-Encoding:
158
158
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
@@ -0,0 +1,82 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.github.com/repos/donaldduck/testrepo_upstream/milestones
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"title":"my_milestone"}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - application/vnd.github.v3+json
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - api.github.com
18
+ Authorization:
19
+ - Basic <GITHUB_CREDENTIALS>
20
+ response:
21
+ status:
22
+ code: 201
23
+ message: Created
24
+ headers:
25
+ Date:
26
+ - Tue, 03 Sep 2019 16:01:12 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Content-Length:
30
+ - '1506'
31
+ Server:
32
+ - GitHub.com
33
+ Status:
34
+ - 201 Created
35
+ X-Ratelimit-Limit:
36
+ - '5000'
37
+ X-Ratelimit-Remaining:
38
+ - '4927'
39
+ X-Ratelimit-Reset:
40
+ - '1567530072'
41
+ Cache-Control:
42
+ - private, max-age=60, s-maxage=60
43
+ Vary:
44
+ - Accept, Authorization, Cookie, X-GitHub-OTP
45
+ - Accept-Encoding
46
+ Etag:
47
+ - '"21f10fbd46b93fec45025c213c4f1623"'
48
+ X-Oauth-Scopes:
49
+ - admin:gpg_key, admin:org, admin:org_hook, admin:public_key, admin:repo_hook,
50
+ delete_repo, gist, notifications, repo, user
51
+ X-Accepted-Oauth-Scopes:
52
+ - ''
53
+ Location:
54
+ - https://api.github.com/repos/donaldduck/testrepo_upstream/milestones/6
55
+ X-Github-Media-Type:
56
+ - github.v3; format=json
57
+ Access-Control-Expose-Headers:
58
+ - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,
59
+ X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval,
60
+ X-GitHub-Media-Type
61
+ Access-Control-Allow-Origin:
62
+ - "*"
63
+ Strict-Transport-Security:
64
+ - max-age=31536000; includeSubdomains; preload
65
+ X-Frame-Options:
66
+ - deny
67
+ X-Content-Type-Options:
68
+ - nosniff
69
+ X-Xss-Protection:
70
+ - 1; mode=block
71
+ Referrer-Policy:
72
+ - origin-when-cross-origin, strict-origin-when-cross-origin
73
+ Content-Security-Policy:
74
+ - default-src 'none'
75
+ X-Github-Request-Id:
76
+ - A894:36DFC:1D8B744:23F04F8:5D6E8E48
77
+ body:
78
+ encoding: UTF-8
79
+ string: '{"url":"https://api.github.com/repos/donaldduck/testrepo_upstream/milestones/6","html_url":"https://github.com/donaldduck/testrepo_upstream/milestone/6","labels_url":"https://api.github.com/repos/donaldduck/testrepo_upstream/milestones/6/labels","id":123456,"node_id":"MDk6TWlsZXN0b25lNDYyNTM3NQ==","number":6,"title":"my_milestone","description":null,"creator":{"login":"donaldduck","id":123456,"node_id":"MDQ6VXNlcjE1OTUzNTY=","avatar_url":"https://avatars2.githubusercontent.com/u/123456?v=4","gravatar_id":"","url":"https://api.github.com/users/donaldduck","html_url":"https://github.com/donaldduck","followers_url":"https://api.github.com/users/donaldduck/followers","following_url":"https://api.github.com/users/donaldduck/following{/other_user}","gists_url":"https://api.github.com/users/donaldduck/gists{/gist_id}","starred_url":"https://api.github.com/users/donaldduck/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/donaldduck/subscriptions","organizations_url":"https://api.github.com/users/donaldduck/orgs","repos_url":"https://api.github.com/users/donaldduck/repos","events_url":"https://api.github.com/users/donaldduck/events{/privacy}","received_events_url":"https://api.github.com/users/donaldduck/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":0,"state":"open","created_at":"2019-09-03T16:01:12Z","updated_at":"2019-09-03T16:01:12Z","due_on":null,"closed_at":null}'
80
+ http_version:
81
+ recorded_at: Tue, 03 Sep 2019 16:01:12 GMT
82
+ recorded_with: VCR 3.0.3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.14
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saverio Miroddi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-28 00:00:00.000000000 Z
11
+ date: 2021-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple_scripting
@@ -88,6 +88,7 @@ files:
88
88
  - lib/geet/github/label.rb
89
89
  - lib/geet/github/milestone.rb
90
90
  - lib/geet/github/pr.rb
91
+ - lib/geet/github/remote_repository.rb
91
92
  - lib/geet/github/user.rb
92
93
  - lib/geet/gitlab/api_interface.rb
93
94
  - lib/geet/gitlab/issue.rb
@@ -101,10 +102,13 @@ files:
101
102
  - lib/geet/helpers/summary_helper.rb
102
103
  - lib/geet/resources/templates/edit_summary.md
103
104
  - lib/geet/services/abstract_create_issue.rb
105
+ - lib/geet/services/add_upstream_repo.rb
106
+ - lib/geet/services/close_milestones.rb
104
107
  - lib/geet/services/comment_pr.rb
105
108
  - lib/geet/services/create_gist.rb
106
109
  - lib/geet/services/create_issue.rb
107
110
  - lib/geet/services/create_label.rb
111
+ - lib/geet/services/create_milestone.rb
108
112
  - lib/geet/services/create_pr.rb
109
113
  - lib/geet/services/list_issues.rb
110
114
  - lib/geet/services/list_labels.rb
@@ -112,6 +116,7 @@ files:
112
116
  - lib/geet/services/list_prs.rb
113
117
  - lib/geet/services/merge_pr.rb
114
118
  - lib/geet/services/open_pr.rb
119
+ - lib/geet/services/open_repo.rb
115
120
  - lib/geet/shared/http_error.rb
116
121
  - lib/geet/shared/repo_permissions.rb
117
122
  - lib/geet/shared/selection.rb
@@ -124,6 +129,7 @@ files:
124
129
  - spec/integration/create_gist_spec.rb
125
130
  - spec/integration/create_issue_spec.rb
126
131
  - spec/integration/create_label_spec.rb
132
+ - spec/integration/create_milestone_spec.rb
127
133
  - spec/integration/create_pr_spec.rb
128
134
  - spec/integration/list_issues_spec.rb
129
135
  - spec/integration/list_labels_spec.rb
@@ -131,6 +137,7 @@ files:
131
137
  - spec/integration/list_prs_spec.rb
132
138
  - spec/integration/merge_pr_spec.rb
133
139
  - spec/integration/open_pr_spec.rb
140
+ - spec/integration/open_repo_spec.rb
134
141
  - spec/spec_helper.rb
135
142
  - spec/vcr_cassettes/create_gist_private.yml
136
143
  - spec/vcr_cassettes/create_gist_public.yml
@@ -140,6 +147,7 @@ files:
140
147
  - spec/vcr_cassettes/github_com/create_label.yml
141
148
  - spec/vcr_cassettes/github_com/create_label_upstream.yml
142
149
  - spec/vcr_cassettes/github_com/create_label_with_random_color.yml
150
+ - spec/vcr_cassettes/github_com/create_milestone.yml
143
151
  - spec/vcr_cassettes/github_com/create_pr.yml
144
152
  - spec/vcr_cassettes/github_com/create_pr_in_auto_mode_create_upstream.yml
145
153
  - spec/vcr_cassettes/github_com/create_pr_in_auto_mode_with_push.yml
@@ -182,8 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
190
  - !ruby/object:Gem::Version
183
191
  version: '0'
184
192
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.7.8
193
+ rubygems_version: 3.2.19
187
194
  signing_key:
188
195
  specification_version: 4
189
196
  summary: Commandline interface for performing SCM host operations, eg. create a PR