git_helper 3.2.2 → 3.3.4
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.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +134 -0
- data/Guardfile +3 -1
- data/README.md +10 -5
- data/Rakefile +2 -0
- data/bin/git-helper +24 -12
- data/lib/git_helper.rb +6 -2
- data/lib/git_helper/change_remote.rb +15 -6
- data/lib/git_helper/checkout_default.rb +2 -0
- data/lib/git_helper/clean_branches.rb +2 -0
- data/lib/git_helper/code_request.rb +33 -19
- data/lib/git_helper/empty_commit.rb +2 -0
- data/lib/git_helper/forget_local_commits.rb +2 -0
- data/lib/git_helper/git_config_reader.rb +12 -6
- data/lib/git_helper/gitlab_client.rb +2 -0
- data/lib/git_helper/local_code.rb +18 -8
- data/lib/git_helper/merge_request.rb +90 -70
- data/lib/git_helper/new_branch.rb +4 -2
- data/lib/git_helper/octokit_client.rb +2 -0
- data/lib/git_helper/pull_request.rb +97 -66
- data/lib/git_helper/setup.rb +116 -0
- data/lib/git_helper/version.rb +3 -1
- data/spec/git_helper/change_remote_spec.rb +24 -24
- data/spec/git_helper/checkout_default_spec.rb +2 -0
- data/spec/git_helper/clean_branches_spec.rb +2 -0
- data/spec/git_helper/code_request_spec.rb +31 -28
- data/spec/git_helper/empty_commit_spec.rb +2 -0
- data/spec/git_helper/forget_local_commits_spec.rb +2 -0
- data/spec/git_helper/git_config_reader_spec.rb +32 -4
- data/spec/git_helper/gitlab_client_spec.rb +2 -0
- data/spec/git_helper/local_code_spec.rb +2 -0
- data/spec/git_helper/merge_request_spec.rb +24 -23
- data/spec/git_helper/new_branch_spec.rb +10 -8
- data/spec/git_helper/octokit_client_spec.rb +2 -0
- data/spec/git_helper/pull_request_spec.rb +20 -18
- data/spec/git_helper/setup_spec.rb +183 -0
- data/spec/spec_helper.rb +4 -1
- metadata +38 -9
- data/lib/git_helper/highline_cli.rb +0 -33
- data/spec/git_helper/highline_cli_spec.rb +0 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8dc9aca4ddec9f8038f5083b2790b10ac48b8293de15c37fb8a153b76ca0ce23
|
4
|
+
data.tar.gz: e2be8c7950de2fe93e7b44b0b3c50118dd8bd34494237f435c69cdbc775ef7e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '029e8998214a94ff639bed8faa0a90bf94eca320a7989effab17b845918df911718512f40dd74e563faf347162723fb9e39b9a02ba0b20477183f4eb4b1d1d71'
|
7
|
+
data.tar.gz: ef184720792c6dc8f361674eabdf7e9972e905f2c835b06ecbbe4b952bdd9eab94c42e644663b6be38222688982c8ff2b0fc958a6899b9eb0a2c3ce2afb77547
|
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
git_helper (3.3.4)
|
5
|
+
gitlab (~> 4.16)
|
6
|
+
gli (~> 2.13)
|
7
|
+
highline_wrapper (~> 0.1.0)
|
8
|
+
octokit (~> 4.18)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
addressable (2.7.0)
|
14
|
+
public_suffix (>= 2.0.2, < 5.0)
|
15
|
+
ast (2.4.2)
|
16
|
+
coderay (1.1.3)
|
17
|
+
concurrent-ruby (1.1.8)
|
18
|
+
diff-lcs (1.4.4)
|
19
|
+
faker (2.16.0)
|
20
|
+
i18n (>= 1.6, < 2)
|
21
|
+
faraday (1.3.0)
|
22
|
+
faraday-net_http (~> 1.0)
|
23
|
+
multipart-post (>= 1.2, < 3)
|
24
|
+
ruby2_keywords
|
25
|
+
faraday-net_http (1.0.1)
|
26
|
+
ffi (1.14.2)
|
27
|
+
formatador (0.2.5)
|
28
|
+
gitlab (4.17.0)
|
29
|
+
httparty (~> 0.18)
|
30
|
+
terminal-table (~> 1.5, >= 1.5.1)
|
31
|
+
gli (2.20.0)
|
32
|
+
guard (2.16.2)
|
33
|
+
formatador (>= 0.2.4)
|
34
|
+
listen (>= 2.7, < 4.0)
|
35
|
+
lumberjack (>= 1.0.12, < 2.0)
|
36
|
+
nenv (~> 0.1)
|
37
|
+
notiffany (~> 0.0)
|
38
|
+
pry (>= 0.9.12)
|
39
|
+
shellany (~> 0.0)
|
40
|
+
thor (>= 0.18.1)
|
41
|
+
guard-compat (1.2.1)
|
42
|
+
guard-rspec (4.7.3)
|
43
|
+
guard (~> 2.1)
|
44
|
+
guard-compat (~> 1.1)
|
45
|
+
rspec (>= 2.99.0, < 4.0)
|
46
|
+
highline (2.0.3)
|
47
|
+
highline_wrapper (0.1.0)
|
48
|
+
highline (~> 2.0)
|
49
|
+
httparty (0.18.1)
|
50
|
+
mime-types (~> 3.0)
|
51
|
+
multi_xml (>= 0.5.2)
|
52
|
+
i18n (1.8.9)
|
53
|
+
concurrent-ruby (~> 1.0)
|
54
|
+
listen (3.4.1)
|
55
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
56
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
57
|
+
lumberjack (1.2.8)
|
58
|
+
method_source (1.0.0)
|
59
|
+
mime-types (3.3.1)
|
60
|
+
mime-types-data (~> 3.2015)
|
61
|
+
mime-types-data (3.2021.0225)
|
62
|
+
multi_xml (0.6.0)
|
63
|
+
multipart-post (2.1.1)
|
64
|
+
nenv (0.3.0)
|
65
|
+
notiffany (0.1.3)
|
66
|
+
nenv (~> 0.1)
|
67
|
+
shellany (~> 0.0)
|
68
|
+
octokit (4.20.0)
|
69
|
+
faraday (>= 0.9)
|
70
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
71
|
+
parallel (1.20.1)
|
72
|
+
parser (3.0.0.0)
|
73
|
+
ast (~> 2.4.1)
|
74
|
+
pry (0.14.0)
|
75
|
+
coderay (~> 1.1)
|
76
|
+
method_source (~> 1.0)
|
77
|
+
public_suffix (4.0.6)
|
78
|
+
rainbow (3.0.0)
|
79
|
+
rake (13.0.3)
|
80
|
+
rb-fsevent (0.10.4)
|
81
|
+
rb-inotify (0.10.1)
|
82
|
+
ffi (~> 1.0)
|
83
|
+
regexp_parser (2.1.1)
|
84
|
+
rexml (3.2.4)
|
85
|
+
rspec (3.10.0)
|
86
|
+
rspec-core (~> 3.10.0)
|
87
|
+
rspec-expectations (~> 3.10.0)
|
88
|
+
rspec-mocks (~> 3.10.0)
|
89
|
+
rspec-core (3.10.1)
|
90
|
+
rspec-support (~> 3.10.0)
|
91
|
+
rspec-expectations (3.10.1)
|
92
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
93
|
+
rspec-support (~> 3.10.0)
|
94
|
+
rspec-mocks (3.10.2)
|
95
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
96
|
+
rspec-support (~> 3.10.0)
|
97
|
+
rspec-support (3.10.2)
|
98
|
+
rubocop (1.11.0)
|
99
|
+
parallel (~> 1.10)
|
100
|
+
parser (>= 3.0.0.0)
|
101
|
+
rainbow (>= 2.2.2, < 4.0)
|
102
|
+
regexp_parser (>= 1.8, < 3.0)
|
103
|
+
rexml
|
104
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
105
|
+
ruby-progressbar (~> 1.7)
|
106
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
107
|
+
rubocop-ast (1.4.1)
|
108
|
+
parser (>= 2.7.1.5)
|
109
|
+
ruby-progressbar (1.11.0)
|
110
|
+
ruby2_keywords (0.0.4)
|
111
|
+
sawyer (0.8.2)
|
112
|
+
addressable (>= 2.3.5)
|
113
|
+
faraday (> 0.8, < 2.0)
|
114
|
+
shellany (0.0.1)
|
115
|
+
terminal-table (1.8.0)
|
116
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
117
|
+
thor (1.1.0)
|
118
|
+
unicode-display_width (1.7.0)
|
119
|
+
|
120
|
+
PLATFORMS
|
121
|
+
x86_64-darwin-20
|
122
|
+
|
123
|
+
DEPENDENCIES
|
124
|
+
bundler (~> 2.2)
|
125
|
+
faker (~> 2.15)
|
126
|
+
git_helper!
|
127
|
+
guard-rspec (~> 4.3)
|
128
|
+
pry (~> 0.13)
|
129
|
+
rake (~> 13.0)
|
130
|
+
rspec (~> 3.9)
|
131
|
+
rubocop (~> 1.10)
|
132
|
+
|
133
|
+
BUNDLED WITH
|
134
|
+
2.2.4
|
data/Guardfile
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
guard :rspec, cmd: 'bundle exec rspec', all_on_start: true do
|
2
4
|
watch(%r{^spec/.+_spec\.rb$})
|
3
5
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
4
6
|
watch('spec/spec_helper.rb') { 'spec' }
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# git_helper [](https://github.com/emmahsax/git_helper/actions/workflows/main.yml)
|
2
2
|
|
3
3
|
## Gem Usage
|
4
4
|
|
@@ -27,6 +27,11 @@ To see what version of git_helper you're running, run:
|
|
27
27
|
git-helper --version
|
28
28
|
```
|
29
29
|
|
30
|
+
To help you create the `~/.git_helper/config.yml` file and set up the plugins (see below), run this command and allow the command to walk you through the prompts:
|
31
|
+
```bash
|
32
|
+
git-helper setup
|
33
|
+
```
|
34
|
+
|
30
35
|
## Plugin Usage
|
31
36
|
|
32
37
|
As an additional option, you can set each of the following commands to be a git plugin, meaning you can call them in a way that feels even more git-native:
|
@@ -46,7 +51,7 @@ unzip path/to/downloaded/plugins.zip -d ~/.git_helper
|
|
46
51
|
|
47
52
|
Now, the plugins will live in `~/.git_helper/plugins/*`. Add the following line to your `~/.bash_profile`:
|
48
53
|
|
49
|
-
```
|
54
|
+
```bash
|
50
55
|
export PATH=/path/to/computer/home/.git_helper/plugins:$PATH
|
51
56
|
```
|
52
57
|
|
@@ -110,7 +115,7 @@ git-helper clean-branches
|
|
110
115
|
|
111
116
|
### `code-request`
|
112
117
|
|
113
|
-
This command can be used to handily make new GitHub/GitLab pull/merge requests from the command
|
118
|
+
This command can be used to handily make new GitHub/GitLab pull/merge requests from the command-line. The command uses either the [`Octokit::Client`](https://octokit.github.io/octokit.rb/Octokit/Client.html) or [`Gitlab` client](https://github.com/NARKOZ/gitlab) to do this, so make sure you have a `~/.git_helper/config.yml` file set up in the home directory of your computer. For instructions on how to do that, see [Gem Usage](#gem-usage).
|
114
119
|
|
115
120
|
After setup is complete, you can call the command like this:
|
116
121
|
|
@@ -144,7 +149,7 @@ git-helper forget-local-commits
|
|
144
149
|
|
145
150
|
### `merge-code-request`
|
146
151
|
|
147
|
-
This command can be used to merge pull/merge requests from the command
|
152
|
+
This command can be used to merge pull/merge requests from the command-line. The command uses either the [`Octokit::Client`](https://octokit.github.io/octokit.rb/Octokit/Client.html) or [`Gitlab` client](https://github.com/NARKOZ/gitlab) to do this, so make sure you have a `~/.git_helper/config.yml` file set up in the home directory of your computer. For instructions on how to do that, see [Gem Usage](#gem-usage).
|
148
153
|
|
149
154
|
After setup is complete, you can call the proper command like this:
|
150
155
|
|
@@ -161,7 +166,7 @@ For GitLab, the command will use whatever squash/source branch deletion/etc sett
|
|
161
166
|
|
162
167
|
### `new-branch`
|
163
168
|
|
164
|
-
This command is useful for making new branches in a repository on the command
|
169
|
+
This command is useful for making new branches in a repository on the command-line. To run the command, run:
|
165
170
|
|
166
171
|
```bash
|
167
172
|
git-helper new-branch
|
data/Rakefile
CHANGED
data/bin/git-helper
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
2
4
|
require 'rubygems'
|
3
5
|
require 'gli'
|
4
6
|
require_relative '../lib/git_helper'
|
@@ -11,46 +13,54 @@ version GitHelper::VERSION
|
|
11
13
|
autocomplete_commands false
|
12
14
|
wrap_help_text :verbatim
|
13
15
|
|
14
|
-
program_long_desc "
|
16
|
+
program_long_desc "
|
15
17
|
DOCUMENTATION
|
16
18
|
For documentation and help in setting up your Git configuration files,
|
17
19
|
see Git Helper's GitHub repo: https://github.com/emmahsax/git_helper
|
18
|
-
"
|
20
|
+
"
|
21
|
+
|
22
|
+
desc 'Sets up Git Helper configs at ~/.git_helper/*'
|
23
|
+
command 'setup' do |c|
|
24
|
+
c.action do
|
25
|
+
GitHelper::Setup.new.execute
|
26
|
+
end
|
27
|
+
end
|
19
28
|
|
20
29
|
arg :old_owner
|
21
30
|
arg :new_owner
|
22
31
|
desc "Update a repository's remote URLs from an old GitHub owner to a new owner."
|
23
32
|
command 'change-remote' do |c|
|
24
|
-
c.action do |
|
33
|
+
c.action do |_global_options, _options, args|
|
25
34
|
raise ArgumentError, 'You must specify an old owner and a new owner' unless args.count == 2
|
35
|
+
|
26
36
|
GitHelper::ChangeRemote.new(args[0], args[1]).execute
|
27
37
|
end
|
28
38
|
end
|
29
39
|
|
30
40
|
desc 'Checks out the default branch of a repo based on the local remote branches.'
|
31
41
|
command 'checkout-default' do |c|
|
32
|
-
c.action do |
|
42
|
+
c.action do |_global_options, _options, _args|
|
33
43
|
GitHelper::CheckoutDefault.new.execute
|
34
44
|
end
|
35
45
|
end
|
36
46
|
|
37
47
|
desc "Clean a repository's git branches."
|
38
48
|
command 'clean-branches' do |c|
|
39
|
-
c.action do |
|
49
|
+
c.action do |_global_options, _options, _args|
|
40
50
|
GitHelper::CleanBranches.new.execute
|
41
51
|
end
|
42
52
|
end
|
43
53
|
|
44
54
|
desc 'Creates an empty commit with a basic commit message.'
|
45
55
|
command 'empty-commit' do |c|
|
46
|
-
c.action do |
|
56
|
+
c.action do |_global_options, _options, _args|
|
47
57
|
GitHelper::EmptyCommit.new.execute
|
48
58
|
end
|
49
59
|
end
|
50
60
|
|
51
61
|
desc 'Reset your local git commits to origin/HEAD.'
|
52
62
|
command 'forget-local-commits' do |c|
|
53
|
-
c.action do |
|
63
|
+
c.action do |_global_options, _options, _args|
|
54
64
|
GitHelper::ForgetLocalCommits.new.execute
|
55
65
|
end
|
56
66
|
end
|
@@ -58,21 +68,23 @@ end
|
|
58
68
|
arg :new_branch_name, optional: true
|
59
69
|
desc 'Create a new branch for features, bug fixes, or experimentation.'
|
60
70
|
command 'new-branch' do |c|
|
61
|
-
c.action do |
|
71
|
+
c.action do |_global_options, _options, args|
|
62
72
|
GitHelper::NewBranch.new.execute(args[0])
|
63
73
|
end
|
64
74
|
end
|
65
75
|
|
66
|
-
desc 'Merge a GitHub/GitLab pull/merge request. The command will figure out whether your
|
76
|
+
desc 'Merge a GitHub/GitLab pull/merge request. The command will figure out whether your ' \
|
77
|
+
'code project belongs to GitHub or GitLab.'
|
67
78
|
command 'merge-code-request' do |c|
|
68
|
-
c.action do |
|
79
|
+
c.action do |_global_options, _options, _args|
|
69
80
|
GitHelper::CodeRequest.new.merge
|
70
81
|
end
|
71
82
|
end
|
72
83
|
|
73
|
-
desc 'Create a GitHub/GitLab pull/merge request from the current branch. The command will figure
|
84
|
+
desc 'Create a GitHub/GitLab pull/merge request from the current branch. The command will figure ' \
|
85
|
+
'out whether your code project belongs to GitHub or GitLab.'
|
74
86
|
command 'code-request' do |c|
|
75
|
-
c.action do |
|
87
|
+
c.action do |_global_options, _options, _args|
|
76
88
|
GitHelper::CodeRequest.new.create
|
77
89
|
end
|
78
90
|
end
|
data/lib/git_helper.rb
CHANGED
@@ -1,9 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'yaml'
|
2
4
|
require 'gitlab'
|
3
|
-
require '
|
5
|
+
require 'highline_wrapper'
|
4
6
|
require 'octokit'
|
5
7
|
|
6
|
-
|
8
|
+
files = "#{File.expand_path(File.join(File.dirname(File.absolute_path(__FILE__)), 'git_helper'))}/**/*.rb"
|
9
|
+
|
10
|
+
Dir[files].each do |file|
|
7
11
|
require_relative file
|
8
12
|
end
|
9
13
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GitHelper
|
2
4
|
class ChangeRemote
|
3
5
|
attr_accessor :old_owner, :new_owner
|
@@ -11,7 +13,7 @@ module GitHelper
|
|
11
13
|
original_dir = Dir.pwd
|
12
14
|
nested_dirs = Dir.entries(original_dir).select do |entry|
|
13
15
|
entry_dir = File.join(original_dir, entry)
|
14
|
-
File.directory?(entry_dir) && !
|
16
|
+
File.directory?(entry_dir) && !['.', '..'].include?(entry)
|
15
17
|
end
|
16
18
|
|
17
19
|
nested_dirs.each do |nested_dir|
|
@@ -22,8 +24,11 @@ module GitHelper
|
|
22
24
|
private def process_dir(current_dir, original_dir)
|
23
25
|
Dir.chdir(current_dir)
|
24
26
|
|
25
|
-
if File.exist?('.git')
|
26
|
-
|
27
|
+
if File.exist?('.git') && highline.ask_yes_no(
|
28
|
+
"Found git directory: #{current_dir}. Do you wish to proceed in updating #{current_dir}'s remote URLs? (y/n)",
|
29
|
+
{ required: true }
|
30
|
+
)
|
31
|
+
process_git_repository
|
27
32
|
end
|
28
33
|
|
29
34
|
Dir.chdir(original_dir)
|
@@ -37,9 +42,11 @@ module GitHelper
|
|
37
42
|
puts " Found remote is not pointing to #{old_owner}."
|
38
43
|
end
|
39
44
|
end
|
40
|
-
puts
|
45
|
+
puts
|
41
46
|
end
|
42
47
|
|
48
|
+
# rubocop:disable Metrics/AbcSize
|
49
|
+
# rubocop:disable Metrics/MethodLength
|
43
50
|
private def process_remote(remote)
|
44
51
|
remote_name = local_code.remote_name(remote)
|
45
52
|
|
@@ -56,13 +63,15 @@ module GitHelper
|
|
56
63
|
puts " Changing the remote URL #{remote_name} to be '#{remote_url}'."
|
57
64
|
local_code.change_remote(remote_name, remote_url)
|
58
65
|
end
|
66
|
+
# rubocop:enable Metrics/MethodLength
|
67
|
+
# rubocop:enable Metrics/AbcSize
|
59
68
|
|
60
69
|
private def local_code
|
61
70
|
@local_code ||= GitHelper::LocalCode.new
|
62
71
|
end
|
63
72
|
|
64
|
-
private def
|
65
|
-
@
|
73
|
+
private def highline
|
74
|
+
@highline ||= HighlineWrapper.new
|
66
75
|
end
|
67
76
|
end
|
68
77
|
end
|
@@ -1,10 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module GitHelper
|
2
4
|
class CodeRequest
|
3
5
|
def create
|
4
|
-
process_project.create(
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
process_project.create(
|
7
|
+
{
|
8
|
+
base_branch: base_branch,
|
9
|
+
new_title: new_code_request_title
|
10
|
+
}
|
11
|
+
)
|
8
12
|
end
|
9
13
|
|
10
14
|
def merge
|
@@ -23,8 +27,14 @@ module GitHelper
|
|
23
27
|
end
|
24
28
|
end
|
25
29
|
|
30
|
+
# rubocop:disable Metrics/MethodLength
|
26
31
|
private def ask_for_clarification
|
27
|
-
resp =
|
32
|
+
resp = highline.ask(
|
33
|
+
'Found git remotes for both GitHub and GitLab. Would you like to proceed ' \
|
34
|
+
'with GitLab or GitHub? (github/gitlab)',
|
35
|
+
{ required: true }
|
36
|
+
).downcase
|
37
|
+
|
28
38
|
if resp.include?('hub')
|
29
39
|
github_pull_request
|
30
40
|
elsif resp.include?('lab')
|
@@ -34,6 +44,7 @@ module GitHelper
|
|
34
44
|
exit
|
35
45
|
end
|
36
46
|
end
|
47
|
+
# rubocop:enable Metrics/MethodLength
|
37
48
|
|
38
49
|
private def github_pull_request
|
39
50
|
@github_pull_request ||= GitHelper::GitHubPullRequest.new(options)
|
@@ -48,7 +59,7 @@ module GitHelper
|
|
48
59
|
local_project: local_project,
|
49
60
|
local_branch: local_branch,
|
50
61
|
local_code: local_code,
|
51
|
-
|
62
|
+
highline: highline
|
52
63
|
}
|
53
64
|
end
|
54
65
|
|
@@ -61,11 +72,12 @@ module GitHelper
|
|
61
72
|
end
|
62
73
|
|
63
74
|
private def base_branch
|
64
|
-
@base_branch ||=
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
75
|
+
@base_branch ||=
|
76
|
+
if highline.ask_yes_no("Is '#{default_branch}' the correct base branch for your new code request? (y/n)")
|
77
|
+
default_branch
|
78
|
+
else
|
79
|
+
highline.ask('Base branch?', { required: true })
|
80
|
+
end
|
69
81
|
end
|
70
82
|
|
71
83
|
private def local_branch
|
@@ -77,16 +89,18 @@ module GitHelper
|
|
77
89
|
end
|
78
90
|
|
79
91
|
private def new_code_request_title
|
80
|
-
@new_code_request_title ||=
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
92
|
+
@new_code_request_title ||=
|
93
|
+
if autogenerated_title && highline.ask_yes_no(
|
94
|
+
"Accept the autogenerated code request title '#{autogenerated_title}'? (y/n)"
|
95
|
+
)
|
96
|
+
autogenerated_title
|
97
|
+
else
|
98
|
+
highline.ask('Title?', { required: true })
|
99
|
+
end
|
86
100
|
end
|
87
101
|
|
88
|
-
private def
|
89
|
-
@
|
102
|
+
private def highline
|
103
|
+
@highline ||= HighlineWrapper.new
|
90
104
|
end
|
91
105
|
|
92
106
|
private def local_code
|