avm-tools 0.86.0 → 0.90.0
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/lib/avm/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/apache_host.rb +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/build.rb +2 -2
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/build/file.rb +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/deploy.rb +6 -6
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/instance.rb +1 -1
- data/lib/avm/{eac_writings_base1 → eac_asciidoctor_base0}/project.rb +1 -1
- data/lib/avm/eac_rails_base1/runner/log.rb +43 -0
- data/lib/avm/eac_rails_base1/runner_with/bundle.rb +2 -32
- data/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +47 -0
- data/lib/avm/eac_webapp_base0/deploy.rb +16 -4
- data/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +1 -1
- data/lib/avm/eac_webapp_base0/deploy/git_info.rb +1 -1
- data/lib/avm/eac_webapp_base0/instance.rb +2 -0
- data/lib/avm/eac_webapp_base0/runner/deploy.rb +13 -21
- data/lib/avm/git/file_auto_fixup.rb +22 -3
- data/lib/avm/instances/base/auto_values/filesystem.rb +12 -0
- data/lib/avm/instances/runner.rb +3 -5
- data/lib/avm/tools/runner.rb +2 -4
- data/lib/avm/tools/runner/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +3 -3
- data/lib/avm/tools/runner/eac_rails_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
- data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +1 -1
- data/lib/avm/tools/runner/eac_webapp_base0.rb +14 -0
- data/lib/avm/tools/runner/eac_wordpress_base0.rb +1 -1
- data/lib/avm/tools/runner/eac_writings_base0.rb +1 -1
- data/lib/avm/tools/runner/files.rb +7 -15
- data/lib/avm/tools/runner/files/format.rb +18 -27
- data/lib/avm/tools/runner/files/rotate.rb +11 -21
- data/lib/avm/tools/runner/git.rb +10 -15
- data/lib/avm/tools/runner/git/auto_commit.rb +2 -2
- data/lib/avm/tools/runner/git/auto_fixup.rb +23 -16
- data/lib/avm/tools/runner/git/commit.rb +2 -2
- data/lib/avm/tools/runner/git/deploy.rb +18 -28
- data/lib/avm/tools/runner/git/dirty_files.rb +2 -2
- data/lib/avm/tools/runner/git/issue.rb +2 -2
- data/lib/avm/tools/runner/git/organize.rb +2 -2
- data/lib/avm/tools/runner/git/revisions_test.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/check.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/clone.rb +2 -2
- data/lib/avm/tools/runner/git/subrepo/fix.rb +4 -3
- data/lib/avm/tools/runner/instance.rb +4 -7
- data/lib/avm/tools/runner/instance/info.rb +5 -8
- data/lib/avm/tools/runner/launcher.rb +1 -1
- data/lib/avm/tools/runner/launcher/instances.rb +1 -1
- data/lib/avm/tools/runner/launcher/projects.rb +1 -1
- data/lib/avm/tools/runner/launcher/publish.rb +1 -1
- data/lib/avm/tools/runner/local_project.rb +5 -8
- data/lib/avm/tools/runner/local_project/{eac_writings_base1.rb → eac_asciidoctor_base0.rb} +4 -4
- data/lib/avm/tools/runner/local_project/{eac_writings_base1 → eac_asciidoctor_base0}/build.rb +7 -11
- data/lib/avm/tools/runner/local_project/eac_writings_base0.rb +2 -2
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb +2 -2
- data/lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb +2 -2
- data/lib/avm/tools/runner/local_project/eac_writings_base0/info.rb +2 -2
- data/lib/avm/tools/runner/local_project/info.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby/bundler.rb +2 -2
- data/lib/avm/tools/runner/local_project/ruby/bundler/gemfile_lock.rb +2 -2
- data/lib/avm/tools/runner/local_project/test.rb +2 -2
- data/lib/avm/tools/runner/local_project/update.rb +2 -2
- data/lib/avm/tools/runner/local_project/version_bump.rb +10 -13
- data/lib/avm/tools/runner/ruby.rb +1 -1
- data/lib/avm/tools/runner/ruby/gems.rb +1 -1
- data/lib/avm/tools/runner/ruby/gems/generate.rb +1 -1
- data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
- data/lib/avm/tools/runner/self.rb +1 -1
- data/lib/avm/tools/runner/self/docker.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +15 -0
- data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +5 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +4 -4
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +7 -36
- data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +45 -0
- data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -48
- data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +29 -0
- data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +31 -0
- data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +15 -3
- data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
- data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +22 -1
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +1 -0
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +9 -6
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner/test_all.rb +4 -9
- data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/traverser.rb +0 -2
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +4 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +42 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +4 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +8 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/template.rb +10 -0
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb +1 -8
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +8 -0
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +2 -1
- data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +17 -0
- metadata +26 -14
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/default_time_zone_set.rb +0 -5
- data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/time/local_time_zone.rb +0 -25
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4b99793f17ad684a2f04156e2a2127eb7390095bc4c72f92312813773c9e9df8
|
|
4
|
+
data.tar.gz: '0417914a7d8ed5863a222bf4f80f3239bc3462e82bf43162b4c1dd5968fb24c4'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 84a5deb989dd5d1013a12bd1db132a9fabcf2bb998982f2437d958f0f0a68874eaad7dc99d261b7e2e7db4ae468b2c6ae7dde82ea254af0824dd6264dfb6aa66
|
|
7
|
+
data.tar.gz: 06ff0affee3bf3dbcf9781c37968fdbb575bf11409c5a8492953a6ebc2dad763d4c3004af6d6007d4a4dc4e9d8fb1f71baca87ce08b29ee957a925d633c4e259
|
|
@@ -4,7 +4,7 @@ require 'eac_ruby_utils/core_ext'
|
|
|
4
4
|
require 'eac_ruby_utils/fs/clearable_directory'
|
|
5
5
|
|
|
6
6
|
module Avm
|
|
7
|
-
module
|
|
7
|
+
module EacAsciidoctorBase0
|
|
8
8
|
class Build
|
|
9
9
|
require_sub __FILE__
|
|
10
10
|
enable_console_speaker
|
|
@@ -36,7 +36,7 @@ module Avm
|
|
|
36
36
|
project.root.children.each do |child|
|
|
37
37
|
next unless child.extname == '.asc'
|
|
38
38
|
|
|
39
|
-
r << ::Avm::
|
|
39
|
+
r << ::Avm::EacAsciidoctorBase0::Build::File.new(self, child.basename)
|
|
40
40
|
end
|
|
41
41
|
r
|
|
42
42
|
end
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_webapp_base0/deploy'
|
|
4
|
-
require 'avm/
|
|
5
|
-
require 'avm/
|
|
4
|
+
require 'avm/eac_asciidoctor_base0/project'
|
|
5
|
+
require 'avm/eac_asciidoctor_base0/build'
|
|
6
6
|
|
|
7
7
|
module Avm
|
|
8
|
-
module
|
|
8
|
+
module EacAsciidoctorBase0
|
|
9
9
|
class Deploy < ::Avm::EacWebappBase0::Deploy
|
|
10
10
|
def build_content
|
|
11
|
-
::Avm::
|
|
11
|
+
::Avm::EacAsciidoctorBase0::Build.new(
|
|
12
12
|
project,
|
|
13
|
-
::Avm::
|
|
13
|
+
::Avm::EacAsciidoctorBase0::Build::OPTION_TARGET_DIRECTORY => build_dir
|
|
14
14
|
).run
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
private
|
|
18
18
|
|
|
19
19
|
def project_uncached
|
|
20
|
-
::Avm::
|
|
20
|
+
::Avm::EacAsciidoctorBase0::Project.new(
|
|
21
21
|
instance.source_instance.read_entry(::Avm::Instances::EntryKeys::FS_PATH)
|
|
22
22
|
)
|
|
23
23
|
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/runner_with/rails_environment'
|
|
4
|
+
require 'avm/eac_webapp_base0/runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
class Runner < ::Avm::EacWebappBase0::Runner
|
|
9
|
+
class Log
|
|
10
|
+
runner_with :help, ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment do
|
|
11
|
+
desc 'Read application\'s log.'
|
|
12
|
+
bool_opt '-f', '--follow', 'Output appended data as the log grows.'
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def run
|
|
16
|
+
start_banner
|
|
17
|
+
tail_command.system
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
private
|
|
21
|
+
|
|
22
|
+
def log_path
|
|
23
|
+
::File.join(rails_instance.read_entry('fs_path'), 'log', "#{rails_environment}.log")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def start_banner
|
|
27
|
+
infov 'Environment', rails_environment
|
|
28
|
+
infov 'Log path', log_path
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def tail_command
|
|
32
|
+
rails_instance.host_env.command(*tail_command_args)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def tail_command_args
|
|
36
|
+
r = %w[tail]
|
|
37
|
+
r << '--follow' if parsed.follow?
|
|
38
|
+
r + [log_path]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'avm/eac_rails_base1/instance'
|
|
4
|
+
require 'avm/eac_rails_base1/runner_with/rails_environment'
|
|
4
5
|
require 'eac_cli/runner'
|
|
5
6
|
|
|
6
7
|
module Avm
|
|
7
8
|
module EacRailsBase1
|
|
8
9
|
module RunnerWith
|
|
9
10
|
module Bundle
|
|
10
|
-
DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
|
|
11
|
-
|
|
12
11
|
common_concern do
|
|
13
|
-
include ::
|
|
14
|
-
|
|
15
|
-
runner_definition do
|
|
16
|
-
arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
|
|
17
|
-
' (test/development/production). Default: "development".'
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
module ClassMethods
|
|
22
|
-
def default_rails_environment
|
|
23
|
-
const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
|
|
24
|
-
rescue ::NameError
|
|
25
|
-
::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
|
|
26
|
-
end
|
|
12
|
+
include ::Avm::EacRailsBase1::RunnerWith::RailsEnvironment
|
|
27
13
|
end
|
|
28
14
|
|
|
29
15
|
def bundle_command
|
|
@@ -35,22 +21,6 @@ module Avm
|
|
|
35
21
|
infov 'Rails environment', rails_environment
|
|
36
22
|
bundle_command.system!
|
|
37
23
|
end
|
|
38
|
-
|
|
39
|
-
def default_rails_environment
|
|
40
|
-
self.class.default_rails_environment
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def rails_instance
|
|
44
|
-
if respond_to?(:runner_context)
|
|
45
|
-
runner_context.call(:instance)
|
|
46
|
-
else
|
|
47
|
-
context(:instance)
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def rails_environment
|
|
52
|
-
parsed.environment.presence || default_rails_environment
|
|
53
|
-
end
|
|
54
24
|
end
|
|
55
25
|
end
|
|
56
26
|
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'avm/eac_rails_base1/instance'
|
|
4
|
+
require 'eac_cli/runner'
|
|
5
|
+
|
|
6
|
+
module Avm
|
|
7
|
+
module EacRailsBase1
|
|
8
|
+
module RunnerWith
|
|
9
|
+
module RailsEnvironment
|
|
10
|
+
DEFAULT_RAILS_ENVIRONMENT_CONSTANT = 'DEFAULT_RAILS_ENVIRONMENT'
|
|
11
|
+
|
|
12
|
+
common_concern do
|
|
13
|
+
include ::EacCli::Runner
|
|
14
|
+
|
|
15
|
+
runner_definition do
|
|
16
|
+
arg_opt '-e', '--environment', 'Specifies the environment for the runner to operate' \
|
|
17
|
+
' (test/development/production). Default: "development".'
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
module ClassMethods
|
|
22
|
+
def default_rails_environment
|
|
23
|
+
const_get(DEFAULT_RAILS_ENVIRONMENT_CONSTANT)
|
|
24
|
+
rescue ::NameError
|
|
25
|
+
::Avm::EacRailsBase1::Instance::DEFAULT_RAILS_ENVIRONMENT
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def default_rails_environment
|
|
30
|
+
self.class.default_rails_environment
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def rails_environment
|
|
34
|
+
parsed.environment.presence || default_rails_environment
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def rails_instance
|
|
38
|
+
if respond_to?(:runner_context)
|
|
39
|
+
runner_context.call(:instance)
|
|
40
|
+
else
|
|
41
|
+
context(:instance)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -17,10 +17,16 @@ module Avm
|
|
|
17
17
|
|
|
18
18
|
enable_console_speaker
|
|
19
19
|
enable_simple_cache
|
|
20
|
-
|
|
20
|
+
enable_listable
|
|
21
|
+
lists.add_symbol :option, :appended_directories, :no_request_test, :reference
|
|
22
|
+
common_constructor :instance, :options, default: [{}] do
|
|
23
|
+
self.options = ::Avm::EacWebappBase0::Deploy.lists.option
|
|
24
|
+
.hash_keys_validate!(options.symbolize_keys)
|
|
25
|
+
end
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
REQUEST_TEST_JOB = 'request_test'
|
|
28
|
+
JOBS = (%w[create_build_dir build_content append_instance_content write_on_target
|
|
29
|
+
setup_files_units assert_instance_branch] + [REQUEST_TEST_JOB]).freeze
|
|
24
30
|
define_callbacks(*JOBS)
|
|
25
31
|
|
|
26
32
|
def run
|
|
@@ -67,8 +73,14 @@ module Avm
|
|
|
67
73
|
|
|
68
74
|
private
|
|
69
75
|
|
|
76
|
+
def jobs
|
|
77
|
+
r = JOBS.dup
|
|
78
|
+
r.delete(REQUEST_TEST_JOB) if options[OPTION_NO_REQUEST_TEST]
|
|
79
|
+
r
|
|
80
|
+
end
|
|
81
|
+
|
|
70
82
|
def run_jobs
|
|
71
|
-
|
|
83
|
+
jobs.each do |job|
|
|
72
84
|
run_callbacks job do
|
|
73
85
|
send(job)
|
|
74
86
|
end
|
|
@@ -2,34 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
require 'avm/instances/runner'
|
|
4
4
|
require 'avm/path_string'
|
|
5
|
-
require '
|
|
6
|
-
require 'eac_ruby_utils/console/speaker'
|
|
5
|
+
require 'eac_cli/core_ext'
|
|
7
6
|
|
|
8
7
|
module Avm
|
|
9
8
|
module EacWebappBase0
|
|
10
9
|
class Runner < ::Avm::Instances::Runner
|
|
11
|
-
class Deploy
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
__PROGRAM__ [options]
|
|
19
|
-
__PROGRAM__ -h | --help
|
|
20
|
-
|
|
21
|
-
Options:
|
|
22
|
-
-h --help Show this screen.
|
|
23
|
-
-r --reference=<git-reference> Git reference to deploy.
|
|
24
|
-
-a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
|
|
25
|
-
DOCOPT
|
|
10
|
+
class Deploy
|
|
11
|
+
runner_with :help do
|
|
12
|
+
desc 'Deploy for instance.'
|
|
13
|
+
arg_opt '-r', '--reference', 'Git reference to deploy.'
|
|
14
|
+
arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
|
|
15
|
+
bool_opt '-T', '--no-request-test', 'Do not test web interface after deploy.'
|
|
16
|
+
end
|
|
26
17
|
|
|
27
18
|
def deploy_class
|
|
28
|
-
|
|
19
|
+
runner_context.call(:stereotype_module).const_get('Deploy')
|
|
29
20
|
end
|
|
30
21
|
|
|
31
22
|
def run
|
|
32
|
-
result = deploy_class.new(
|
|
23
|
+
result = deploy_class.new(runner_context.call(:instance), deploy_options).run
|
|
33
24
|
if result.error?
|
|
34
25
|
fatal_error result.to_s
|
|
35
26
|
else
|
|
@@ -38,8 +29,9 @@ module Avm
|
|
|
38
29
|
end
|
|
39
30
|
|
|
40
31
|
def deploy_options
|
|
41
|
-
{ reference:
|
|
42
|
-
appended_directories: ::Avm::PathString.paths(
|
|
32
|
+
{ reference: parsed.reference,
|
|
33
|
+
appended_directories: ::Avm::PathString.paths(parsed.append_dirs),
|
|
34
|
+
no_request_test: parsed.no_request_test? }
|
|
43
35
|
end
|
|
44
36
|
end
|
|
45
37
|
end
|
|
@@ -7,8 +7,12 @@ module Avm
|
|
|
7
7
|
class FileAutoFixup
|
|
8
8
|
enable_console_speaker
|
|
9
9
|
enable_simple_cache
|
|
10
|
+
enable_listable
|
|
11
|
+
lists.add_symbol :option, :select, :unique
|
|
10
12
|
|
|
11
|
-
common_constructor :git, :path
|
|
13
|
+
common_constructor :git, :path, :options, default: [{}] do
|
|
14
|
+
self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
|
|
15
|
+
end
|
|
12
16
|
|
|
13
17
|
COMMIT_FORMAT = '%h - %s (%cr)'
|
|
14
18
|
COMMITS_SEARCH_INTERVAL = 'origin/master..HEAD'
|
|
@@ -18,8 +22,8 @@ module Avm
|
|
|
18
22
|
start_banner
|
|
19
23
|
if commits.count.zero?
|
|
20
24
|
run_no_commits_found
|
|
21
|
-
elsif
|
|
22
|
-
fixup_commit(
|
|
25
|
+
elsif auto_selected_commit.present?
|
|
26
|
+
fixup_commit(auto_selected_commit)
|
|
23
27
|
else
|
|
24
28
|
run_commits_selection
|
|
25
29
|
end
|
|
@@ -27,6 +31,10 @@ module Avm
|
|
|
27
31
|
|
|
28
32
|
private
|
|
29
33
|
|
|
34
|
+
def auto_selected_commit_uncached
|
|
35
|
+
selected_commit_by_unique || select_commit_by_select
|
|
36
|
+
end
|
|
37
|
+
|
|
30
38
|
def start_banner
|
|
31
39
|
infov 'Path', path
|
|
32
40
|
infov ' Commits found', commits.count
|
|
@@ -56,6 +64,17 @@ module Avm
|
|
|
56
64
|
request_input('Which commit?', list: commits_by_position)
|
|
57
65
|
end
|
|
58
66
|
|
|
67
|
+
def selected_commit_by_unique
|
|
68
|
+
return unless options[OPTION_UNIQUE]
|
|
69
|
+
return commits.first if commits.first
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def select_commit_by_select
|
|
73
|
+
options[OPTION_SELECT].if_present(&:to_i).if_present do |v|
|
|
74
|
+
commits.find { |commit| commit.position == v }
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
59
78
|
def commits_banner
|
|
60
79
|
commits.each_with_index do |commit, _index|
|
|
61
80
|
infov " #{commit.position}", format_commit(commit)
|
|
@@ -20,12 +20,24 @@ module Avm
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def auto_fs_url
|
|
23
|
+
auto_fs_url_with_ssh || auto_fs_url_without_ssh
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def auto_fs_url_with_ssh
|
|
23
27
|
read_entry_optional('ssh.url').if_present do |ssh_url|
|
|
24
28
|
read_entry_optional('fs_path').if_present do |fs_path|
|
|
25
29
|
"#{ssh_url}#{fs_path}"
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
end
|
|
33
|
+
|
|
34
|
+
def auto_fs_url_without_ssh
|
|
35
|
+
return nil if read_entry_optional('ssh.url').present?
|
|
36
|
+
|
|
37
|
+
read_entry_optional('fs_path').if_present do |fs_path|
|
|
38
|
+
"file://#{fs_path}"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
29
41
|
end
|
|
30
42
|
end
|
|
31
43
|
end
|