avm-git 0.13.4 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/git/application_scms/base/assert_main_at.rb +49 -0
- data/lib/avm/git/application_scms/base.rb +21 -0
- data/lib/avm/git/application_scms.rb +11 -0
- data/lib/avm/git/issue/complete/commits.rb +2 -2
- data/lib/avm/git/issue/complete/push.rb +2 -2
- data/lib/avm/git/issue/complete.rb +1 -1
- data/lib/avm/git/issue.rb +1 -1
- data/lib/avm/git/launcher/base/dirty_files.rb +4 -4
- data/lib/avm/git/launcher/base/subrepo.rb +1 -1
- data/lib/avm/git/launcher/base.rb +1 -0
- data/lib/avm/git/launcher/publish_base.rb +1 -2
- data/lib/avm/git/launcher/remote.rb +2 -2
- data/lib/avm/git/launcher/warp_base.rb +3 -2
- data/lib/avm/git/launcher_stereotypes/git_subrepo/warp.rb +2 -2
- data/lib/avm/git/organize/repository.rb +1 -1
- data/lib/avm/git/revision_test.rb +2 -2
- data/lib/avm/git/scms/git/branch.rb +31 -0
- data/lib/avm/git/scms/git/branches.rb +20 -0
- data/lib/avm/git/scms/git/change_tracker.rb +1 -0
- data/lib/avm/git/scms/git/commit.rb +1 -1
- data/lib/avm/git/scms/git/interval.rb +1 -1
- data/lib/avm/git/scms/git/remote.rb +21 -0
- data/lib/avm/git/scms/git/remotes.rb +32 -0
- data/lib/avm/git/scms/git_subtree.rb +1 -1
- data/lib/avm/git/subrepo_check/show_result.rb +1 -1
- data/lib/avm/git/subrepo_checks.rb +1 -0
- data/lib/avm/git/version.rb +1 -1
- metadata +24 -50
- data/lib/avm/git/issue/deliver.rb +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '069dd4b5903571ba7437e10f037563d08a7be64d9066e37c4fde8dbb2e2ec221'
|
4
|
+
data.tar.gz: 757222ff60fabf5df18cdc42152adc5013208ada07132a2a554412a0a8a79f8d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 78921f2c0c1c40525726b8a9dd466e877ac601cc2239ed48f771f0322d3e386ac9405b5f1c3993893dea4fa38e4689a3caf6dafeeca26ebdad47c45e12ee5073
|
7
|
+
data.tar.gz: 17e20fe9e5b9ddca9c8185e9ee31133d870e3f533d011294fea343c596bb912414ef3084885c6493ff01bc333797b2a104542f3c3099311f6aba5ccec602b0e0
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/application_scms/base'
|
4
|
+
require 'eac_git/local'
|
5
|
+
require 'eac_git/remote'
|
6
|
+
require 'eac_ruby_utils/core_ext'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module Git
|
10
|
+
module ApplicationScms
|
11
|
+
class Base < ::Avm::ApplicationScms::Base
|
12
|
+
class AssertMainAt
|
13
|
+
MAIN_REFERENCE = 'HEAD'
|
14
|
+
|
15
|
+
acts_as_instance_method
|
16
|
+
enable_simple_cache
|
17
|
+
common_constructor :base, :path
|
18
|
+
|
19
|
+
# @return [Pathname]
|
20
|
+
def result
|
21
|
+
local_repos.remote(base.git_https_url).fetch
|
22
|
+
local_repos.command('checkout', remote_head_commit_id).execute!
|
23
|
+
path
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
# @return [String]
|
29
|
+
def remote_head_commit_id
|
30
|
+
remote_repos.ls.fetch(MAIN_REFERENCE)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [EacGit::Local]
|
34
|
+
def local_repos_uncached
|
35
|
+
path.mkpath
|
36
|
+
r = ::EacGit::Local.new(path)
|
37
|
+
r.command('init').execute! unless r.root_path.join('.git').exist?
|
38
|
+
r
|
39
|
+
end
|
40
|
+
|
41
|
+
# @return [EacGit::Remote]
|
42
|
+
def remote_repos_uncached
|
43
|
+
::EacGit::Remote.new(base.git_https_url)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/application_scms/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module ApplicationScms
|
9
|
+
class Base < ::Avm::ApplicationScms::Base
|
10
|
+
acts_as_abstract
|
11
|
+
|
12
|
+
# @return [Addressable::URI]
|
13
|
+
def git_https_url
|
14
|
+
raise_abstract_method __method__
|
15
|
+
end
|
16
|
+
|
17
|
+
require_sub __FILE__, require_mode: :kernel
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -32,8 +32,8 @@ module Avm
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def commit_parents(commit)
|
35
|
-
launcher_git.execute!('log', '--pretty=%P', '-n', '1', commit).split
|
36
|
-
|
35
|
+
launcher_git.execute!('log', '--pretty=%P', '-n', '1', commit).split.map(&:strip)
|
36
|
+
.select(&:present?)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -25,11 +25,11 @@ module Avm
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def pushs_uncached
|
28
|
-
[master_push, remove_branch_push, tag_push].
|
28
|
+
[master_push, remove_branch_push, tag_push].compact
|
29
29
|
end
|
30
30
|
|
31
31
|
def master_push
|
32
|
-
remote_master_hash
|
32
|
+
remote_master_hash == branch_hash ? nil : "#{branch_hash}:refs/heads/master"
|
33
33
|
end
|
34
34
|
|
35
35
|
def remove_branch_push
|
data/lib/avm/git/issue.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
4
|
|
5
5
|
module Avm
|
6
6
|
module Git
|
@@ -9,11 +9,11 @@ module Avm
|
|
9
9
|
module DirtyFiles
|
10
10
|
delegate :dirty?, to: :eac_git
|
11
11
|
|
12
|
+
# @return [Array<Struct>]
|
12
13
|
def dirty_files
|
13
14
|
eac_git.dirty_files.map do |df|
|
14
|
-
|
15
|
-
|
16
|
-
)
|
15
|
+
df.to_h.merge(path: df.path.to_path, absolute_path: df.absolute_path.to_path)
|
16
|
+
.to_struct
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -30,7 +30,7 @@ module Avm
|
|
30
30
|
def subrepo_status_parse_output(output)
|
31
31
|
r = {}.with_indifferent_access
|
32
32
|
output.each_line do |l|
|
33
|
-
m = /\A([^\:]+)
|
33
|
+
m = /\A([^\:]+):(.*)\z/.match(l.strip)
|
34
34
|
next unless m && m[2].present?
|
35
35
|
|
36
36
|
r[m[1].strip] = m[2].strip
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'eac_ruby_utils/simple_cache'
|
4
3
|
require 'eac_ruby_utils/simple_cache'
|
5
4
|
require 'avm/launcher/publish/base'
|
6
5
|
require 'avm/launcher/publish/check_result'
|
@@ -111,7 +110,7 @@ module Avm
|
|
111
110
|
def remote_sha_uncached
|
112
111
|
remote_fetch
|
113
112
|
b = sgit.git.branches["#{remote_name}/#{remote_ref}"]
|
114
|
-
b
|
113
|
+
b&.gcommit&.sha
|
115
114
|
end
|
116
115
|
|
117
116
|
def remote_fetch_uncached
|
@@ -13,10 +13,10 @@ module Avm
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def ls
|
16
|
-
git.execute!(['ls-remote', name]).each_line.
|
16
|
+
git.execute!(['ls-remote', name]).each_line.to_h do |line|
|
17
17
|
x = line.strip.split(/\s+/)
|
18
18
|
[x[1], x[0]]
|
19
|
-
end
|
19
|
+
end
|
20
20
|
end
|
21
21
|
|
22
22
|
# +git remote add ...+
|
@@ -33,8 +33,9 @@ module Avm
|
|
33
33
|
return
|
34
34
|
end
|
35
35
|
|
36
|
-
raise ::Avm::Launcher::Instances::Error,
|
37
|
-
|
36
|
+
raise ::Avm::Launcher::Instances::Error,
|
37
|
+
"Refspec \"#{source_instance.options.git_current_revision}\" " \
|
38
|
+
"not found in \"#{source_git}\""
|
38
39
|
end
|
39
40
|
|
40
41
|
def update
|
@@ -33,8 +33,8 @@ module Avm
|
|
33
33
|
parent_git_warped.descendant?('HEAD', subrepo_parent_hash)
|
34
34
|
|
35
35
|
raise Avm::Launcher::Errors::Base,
|
36
|
-
"Subrepo parent hash \"#{subrepo_parent_hash}\"" \
|
37
|
-
"
|
36
|
+
"Subrepo parent hash \"#{subrepo_parent_hash}\" " \
|
37
|
+
"not found in \"#{parent_git_warped}\""
|
38
38
|
end
|
39
39
|
|
40
40
|
def subrepo_parent_hash
|
@@ -57,8 +57,8 @@ module Avm
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def run_test
|
60
|
-
infom "Running test command \"#{::Shellwords.join(test_command_args)}\"" \
|
61
|
-
|
60
|
+
infom "Running test command \"#{::Shellwords.join(test_command_args)}\" " \
|
61
|
+
"on \"#{git_absolute_path}\"..."
|
62
62
|
result = ::EacRubyUtils::Ruby.on_clean_environment { test_command.execute }
|
63
63
|
infom 'Test done'
|
64
64
|
write_result_cache(result)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/scms/branch'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Scms
|
9
|
+
class Git < ::Avm::Scms::Base
|
10
|
+
class Branch < ::Avm::Scms::Branch
|
11
|
+
common_constructor :scm, :eac_git_branch
|
12
|
+
|
13
|
+
# @return [Avm::Git::Scms::Git::Commit]
|
14
|
+
def head_commit
|
15
|
+
::Avm::Git::Scms::Git::Commit.new(scm, eac_git_branch.head_commit)
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [String]
|
19
|
+
def id
|
20
|
+
eac_git_branch.name
|
21
|
+
end
|
22
|
+
|
23
|
+
# @param remote [Avm::Git::Scms::Git::Remote]
|
24
|
+
def push(remote)
|
25
|
+
eac_git_branch.push(remote.eac_git_remote, force: true)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/scms/commit'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Scms
|
9
|
+
class Git < ::Avm::Scms::Base
|
10
|
+
module Branches
|
11
|
+
# @return [Avm::Git::Scms::Git::Branch]
|
12
|
+
def head_branch
|
13
|
+
::Avm::Git::Scms::Git::Branch.new(self,
|
14
|
+
git_repo.current_branch)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -17,7 +17,7 @@ module Avm
|
|
17
17
|
# @return [Array<Avm::Git::Scms::Git::Commit>]
|
18
18
|
def commits
|
19
19
|
scm.git_repo.command('log', '--pretty=format:%H', git_commit_interval).execute!
|
20
|
-
|
20
|
+
.each_line.map { |sha1| scm.commit(sha1.strip) }
|
21
21
|
end
|
22
22
|
|
23
23
|
# @return [String]
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/scms/remote'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Scms
|
9
|
+
class Git < ::Avm::Scms::Base
|
10
|
+
class Remote < ::Avm::Scms::Remote
|
11
|
+
common_constructor :scm, :eac_git_remote
|
12
|
+
|
13
|
+
# @return [String]
|
14
|
+
def id
|
15
|
+
nyi eac_git_remote
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/scms/git/remote'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Scms
|
9
|
+
class Git < ::Avm::Scms::Base
|
10
|
+
module Remotes
|
11
|
+
DEFAULT_REMOTE_ID = 'origin'
|
12
|
+
|
13
|
+
# @return [Avm::Git::Scms::Git::Remote]
|
14
|
+
def default_remote
|
15
|
+
remote(default_remote_id)
|
16
|
+
end
|
17
|
+
|
18
|
+
# @return [String]
|
19
|
+
def default_remote_id
|
20
|
+
DEFAULT_REMOTE_ID
|
21
|
+
end
|
22
|
+
|
23
|
+
# @param id [String]
|
24
|
+
# @return [Avm::Git::Scms::Git::Remote]
|
25
|
+
def remote(id)
|
26
|
+
::Avm::Git::Scms::Git::Remote.new(self, git_repo.remote(id))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -15,7 +15,7 @@ module Avm
|
|
15
15
|
|
16
16
|
def valid?
|
17
17
|
return false unless ::Avm::Git::Scms::Provider
|
18
|
-
|
18
|
+
.new.all.any? { |scm_class| parent_scm.is_a?(scm_class) }
|
19
19
|
|
20
20
|
(::Avm::Git::Scms::Provider.new.all - [self.class])
|
21
21
|
.lazy.map { |scm_class| scm_class.new(path) }.none?(&:valid?)
|
data/lib/avm/git/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avm-git
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Put here the authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,122 +16,90 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.85'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.85'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm-files
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 0.6.2
|
33
|
+
version: '0.7'
|
37
34
|
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - "~>"
|
42
39
|
- !ruby/object:Gem::Version
|
43
|
-
version: '0.
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.6.2
|
40
|
+
version: '0.7'
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: eac_git
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
44
|
requirements:
|
51
45
|
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 0.14.1
|
47
|
+
version: '0.16'
|
57
48
|
type: :runtime
|
58
49
|
prerelease: false
|
59
50
|
version_requirements: !ruby/object:Gem::Requirement
|
60
51
|
requirements:
|
61
52
|
- - "~>"
|
62
53
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 0.14.1
|
54
|
+
version: '0.16'
|
67
55
|
- !ruby/object:Gem::Dependency
|
68
56
|
name: eac_ruby_utils
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
70
58
|
requirements:
|
71
59
|
- - "~>"
|
72
60
|
- !ruby/object:Gem::Version
|
73
|
-
version: '0.
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 0.119.1
|
61
|
+
version: '0.121'
|
77
62
|
type: :runtime
|
78
63
|
prerelease: false
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
80
65
|
requirements:
|
81
66
|
- - "~>"
|
82
67
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0.
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.119.1
|
68
|
+
version: '0.121'
|
87
69
|
- !ruby/object:Gem::Dependency
|
88
70
|
name: git
|
89
71
|
requirement: !ruby/object:Gem::Requirement
|
90
72
|
requirements:
|
91
73
|
- - "~>"
|
92
74
|
- !ruby/object:Gem::Version
|
93
|
-
version: '1.
|
94
|
-
type: :runtime
|
95
|
-
prerelease: false
|
96
|
-
version_requirements: !ruby/object:Gem::Requirement
|
97
|
-
requirements:
|
98
|
-
- - "~>"
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '1.18'
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: aranha-parsers
|
103
|
-
requirement: !ruby/object:Gem::Requirement
|
104
|
-
requirements:
|
105
|
-
- - "~>"
|
106
|
-
- !ruby/object:Gem::Version
|
107
|
-
version: '0.8'
|
75
|
+
version: '1.19'
|
108
76
|
- - ">="
|
109
77
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
type: :
|
78
|
+
version: 1.19.1
|
79
|
+
type: :runtime
|
112
80
|
prerelease: false
|
113
81
|
version_requirements: !ruby/object:Gem::Requirement
|
114
82
|
requirements:
|
115
83
|
- - "~>"
|
116
84
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
85
|
+
version: '1.19'
|
118
86
|
- - ">="
|
119
87
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
88
|
+
version: 1.19.1
|
121
89
|
- !ruby/object:Gem::Dependency
|
122
90
|
name: eac_ruby_gem_support
|
123
91
|
requirement: !ruby/object:Gem::Requirement
|
124
92
|
requirements:
|
125
93
|
- - "~>"
|
126
94
|
- !ruby/object:Gem::Version
|
127
|
-
version: 0.
|
95
|
+
version: '0.9'
|
128
96
|
type: :development
|
129
97
|
prerelease: false
|
130
98
|
version_requirements: !ruby/object:Gem::Requirement
|
131
99
|
requirements:
|
132
100
|
- - "~>"
|
133
101
|
- !ruby/object:Gem::Version
|
134
|
-
version: 0.
|
102
|
+
version: '0.9'
|
135
103
|
description:
|
136
104
|
email:
|
137
105
|
executables: []
|
@@ -139,6 +107,9 @@ extensions: []
|
|
139
107
|
extra_rdoc_files: []
|
140
108
|
files:
|
141
109
|
- lib/avm/git.rb
|
110
|
+
- lib/avm/git/application_scms.rb
|
111
|
+
- lib/avm/git/application_scms/base.rb
|
112
|
+
- lib/avm/git/application_scms/base/assert_main_at.rb
|
142
113
|
- lib/avm/git/commit.rb
|
143
114
|
- lib/avm/git/commit/class_methods.rb
|
144
115
|
- lib/avm/git/commit/diff_tree_line.rb
|
@@ -156,7 +127,6 @@ files:
|
|
156
127
|
- lib/avm/git/issue/complete/validation.rb
|
157
128
|
- lib/avm/git/issue/complete/validations.rb
|
158
129
|
- lib/avm/git/issue/complete/working_tree.rb
|
159
|
-
- lib/avm/git/issue/deliver.rb
|
160
130
|
- lib/avm/git/launcher.rb
|
161
131
|
- lib/avm/git/launcher/base.rb
|
162
132
|
- lib/avm/git/launcher/base/class_methods.rb
|
@@ -188,6 +158,8 @@ files:
|
|
188
158
|
- lib/avm/git/revision_test.rb
|
189
159
|
- lib/avm/git/scms.rb
|
190
160
|
- lib/avm/git/scms/git.rb
|
161
|
+
- lib/avm/git/scms/git/branch.rb
|
162
|
+
- lib/avm/git/scms/git/branches.rb
|
191
163
|
- lib/avm/git/scms/git/change_tracker.rb
|
192
164
|
- lib/avm/git/scms/git/changed_file.rb
|
193
165
|
- lib/avm/git/scms/git/changed_files.rb
|
@@ -198,6 +170,8 @@ files:
|
|
198
170
|
- lib/avm/git/scms/git/commits.rb
|
199
171
|
- lib/avm/git/scms/git/interval.rb
|
200
172
|
- lib/avm/git/scms/git/milestones.rb
|
173
|
+
- lib/avm/git/scms/git/remote.rb
|
174
|
+
- lib/avm/git/scms/git/remotes.rb
|
201
175
|
- lib/avm/git/scms/git/run_commit.rb
|
202
176
|
- lib/avm/git/scms/git_sub_base.rb
|
203
177
|
- lib/avm/git/scms/git_sub_base/changed_file.rb
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'avm/tools/core_ext'
|
4
|
-
require 'clipboard'
|
5
|
-
|
6
|
-
module Avm
|
7
|
-
module Git
|
8
|
-
module Issue
|
9
|
-
class Deliver
|
10
|
-
enable_simple_cache
|
11
|
-
enable_speaker
|
12
|
-
|
13
|
-
common_constructor :git_repo
|
14
|
-
|
15
|
-
def run
|
16
|
-
push
|
17
|
-
clipboard_copy_tracker_message
|
18
|
-
true
|
19
|
-
end
|
20
|
-
|
21
|
-
def start_banner
|
22
|
-
infov 'Branch name', branch_name
|
23
|
-
infov 'Commit ID', branch_commit_id
|
24
|
-
infov 'Push arguments', ::Shellwords.join(push_args)
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def branch_commit_id
|
30
|
-
git_repo.rev_parse(branch_name)
|
31
|
-
end
|
32
|
-
|
33
|
-
def branch_name_uncached
|
34
|
-
git_repo.command('rev-parse', '--abbrev-ref', 'HEAD').execute!.strip
|
35
|
-
end
|
36
|
-
|
37
|
-
def clipboard_copy_tracker_message
|
38
|
-
::Clipboard.copy(textile_tracker_message)
|
39
|
-
infov 'Copied to clipboard', textile_tracker_message
|
40
|
-
end
|
41
|
-
|
42
|
-
def push
|
43
|
-
git_repo.command(*push_args).system!
|
44
|
-
end
|
45
|
-
|
46
|
-
def push_args
|
47
|
-
%w[push origin --force] + ["#{branch_name}:refs/heads/#{branch_name}"]
|
48
|
-
end
|
49
|
-
|
50
|
-
def textile_tracker_message
|
51
|
-
"#{branch_name}: commit:#{branch_commit_id}."
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|