avm-git 0.12.0 → 0.13.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 447507fccfbdccc90a778e94ea7dbc81e2600cab181994857ee1e2644d80ca9a
4
- data.tar.gz: cf78b8c4eb61432fc10369703fdb2309fca8e4c30fb92c2dc507262c30d8c070
3
+ metadata.gz: 3c527e07290b2c56ad8f4aeb91cdbb3b0f78223dc34c9babf50f372573555d79
4
+ data.tar.gz: f9cf685952de778334ce13137152065a246bbcd0b95135b627439fee1fdd2a8d
5
5
  SHA512:
6
- metadata.gz: 2d54484f2a54ca4a8a315e47044f0450acbb74b8f95f39cf9ff2c803600cc7a4d1b08209d3ccb66a3da9070fefb846b71cc3d0cdd8b497e438b76a4bedc1d47e
7
- data.tar.gz: ea4c503d46c43fce7d44b38e69792a16c6b380a5a448fbd7e959cbb2e7348123f809ac3b9a52c090a670edca80c98e3ba21ab5157327b8d3a608037b4f8c5f1b
6
+ metadata.gz: 2685abcc268908517117700c16217f2bd928e0eadb0564f81e7702dd20a7a0fef4273178ebbe7c9baf4b12c93e7c5b0bd2e7e2e1773c6b97d9d1d3d8d2b063ba
7
+ data.tar.gz: f72d76691c1d21a09fbcb7e2c9f73f802f168734e34575e5c7e3a55f2401005d99b6492739f9a467e7fea30ce13d611f64e1b1a19b41f78ca344c3a474321f2b
@@ -15,6 +15,8 @@ module Avm
15
15
  CHECKERS = %w[remote_url remote_fetch publish_remote_no_exist remote_equal remote_following
16
16
  local_following].freeze
17
17
 
18
+ DEFAULT_REMOTE_REF = 'master'
19
+
18
20
  REMOTE_UNAVAILABLE_MESSAGES = ['could not resolve host', 'connection timed out',
19
21
  'no route to host'].map(&:downcase).freeze
20
22
 
@@ -108,7 +110,7 @@ module Avm
108
110
 
109
111
  def remote_sha_uncached
110
112
  remote_fetch
111
- b = sgit.git.branches["#{remote_name}/master"]
113
+ b = sgit.git.branches["#{remote_name}/#{remote_ref}"]
112
114
  b ? b.gcommit.sha : nil
113
115
  end
114
116
 
@@ -119,6 +121,11 @@ module Avm
119
121
  def remote_name
120
122
  ::Avm::Git::Launcher::WarpBase::TARGET_REMOTE
121
123
  end
124
+
125
+ # @return [String]
126
+ def remote_ref
127
+ DEFAULT_REMOTE_REF
128
+ end
122
129
  end
123
130
  end
124
131
  end
@@ -7,6 +7,23 @@ module Avm
7
7
  module LauncherStereotypes
8
8
  class GitSubrepo
9
9
  class Publish < ::Avm::Git::Launcher::PublishBase
10
+ # @return [Pathname]
11
+ def config_path
12
+ instance.parent.warped.to_pathname.join(
13
+ "./#{instance.to_parent_path}",
14
+ ::Avm::Git::LauncherStereotypes::GitSubrepo::CONFIG_SUBPATH
15
+ )
16
+ end
17
+
18
+ # @return [EacGit::Local::Subrepo::Config]
19
+ def config
20
+ ::EacGit::Local::Subrepo::Config.from_file(config_path)
21
+ end
22
+
23
+ # @return [String]
24
+ def remote_ref
25
+ config.remote_branch || super
26
+ end
10
27
  end
11
28
  end
12
29
  end
@@ -11,9 +11,11 @@ module Avm
11
11
  require_sub __FILE__
12
12
  include Avm::Launcher::Stereotype
13
13
 
14
+ CONFIG_SUBPATH = '.gitrepo'
15
+
14
16
  class << self
15
17
  def match?(path)
16
- File.exist?(path.real.subpath('.gitrepo')) && subrepo_url(path.real) != 'none'
18
+ File.exist?(path.real.subpath(CONFIG_SUBPATH)) && subrepo_url(path.real) != 'none'
17
19
  end
18
20
 
19
21
  def color
@@ -21,7 +23,7 @@ module Avm
21
23
  end
22
24
 
23
25
  def subrepo_url(path)
24
- File.read(path.subpath('.gitrepo')).each_line do |l|
26
+ File.read(path.subpath(CONFIG_SUBPATH)).each_line do |l|
25
27
  m = /remote\s*=\s(.+)/.match(l)
26
28
  return m[1] if m
27
29
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/scms/commit'
4
+ require 'avm/git/scms/git/commit'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Git
9
+ module Scms
10
+ class GitSubBase < ::Avm::Scms::Base
11
+ class Commit < ::Avm::Scms::Commit
12
+ common_constructor :scm, :parent_commit do
13
+ # parent_commit.assert_argument(::Avm::Git::Scms::Git::Commit, 'parent_commit')
14
+ end
15
+
16
+ delegate :deploy_to_env_path, :fixup?, :id, :merge_with, :reword, :scm_file?, :subject,
17
+ :to_s, to: :parent_commit
18
+
19
+ # @return [Array<Pathname>]
20
+ def changed_files
21
+ parent_commit.changed_files.map do |cf|
22
+ cf.relative_path_from(scm.relative_path_from_parent_scm)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/git/scms/git_sub_base/commit'
4
+ require 'avm/scms/base'
5
+ require 'avm/scms/interval'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module Avm
9
+ module Git
10
+ module Scms
11
+ class GitSubBase < ::Avm::Scms::Base
12
+ class Interval < ::Avm::Scms::Interval
13
+ # @return [Array<Avm::Git::Scms::GitSubBase::Commit>]
14
+ def commits
15
+ parent_interval.commits.map do |parent_commit|
16
+ Avm::Git::Scms::GitSubBase::Commit.new(scm, parent_commit)
17
+ end
18
+ end
19
+
20
+ # @return [Avm::Git::Scms::Git::Interval]
21
+ def parent_interval
22
+ scm.parent_scm.interval(from, to)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -9,8 +9,17 @@ module Avm
9
9
  class GitSubBase < ::Avm::Scms::Base
10
10
  enable_abstract_methods
11
11
 
12
- delegate :changed_files, :commit_if_change, :current_milestone_base_commit, :interval,
12
+ delegate :changed_files, :commit_if_change, :current_milestone_base_commit,
13
13
  :head_commit, :reset_and_commit, :run_commit, to: :parent_scm
14
+
15
+ # @param from [Avm::Git::Scms::Git::Commit]
16
+ # @param to [Avm::Git::Scms::Git::Commit]
17
+ # @return [Avm::Git::Scms::GitSubBase::Interval]
18
+ def interval(from, to)
19
+ ::Avm::Git::Scms::GitSubBase::Interval.new(self, from, to)
20
+ end
21
+
22
+ require_sub __FILE__
14
23
  end
15
24
  end
16
25
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Git
5
- VERSION = '0.12.0'
5
+ VERSION = '0.13.1'
6
6
  end
7
7
  end
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.12.0
4
+ version: 0.13.1
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: 2023-01-19 00:00:00.000000000 Z
11
+ date: 2023-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avm
@@ -16,14 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.61'
19
+ version: '0.64'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.64.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.61'
29
+ version: '0.64'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.64.2
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: avm-files
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +51,9 @@ dependencies:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0.14'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 0.14.1
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,46 +61,37 @@ dependencies:
52
61
  - - "~>"
53
62
  - !ruby/object:Gem::Version
54
63
  version: '0.14'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 0.14.1
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: eac_ruby_utils
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
71
  - - "~>"
60
72
  - !ruby/object:Gem::Version
61
- version: '0.110'
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- version: 0.110.1
73
+ version: '0.112'
65
74
  type: :runtime
66
75
  prerelease: false
67
76
  version_requirements: !ruby/object:Gem::Requirement
68
77
  requirements:
69
78
  - - "~>"
70
79
  - !ruby/object:Gem::Version
71
- version: '0.110'
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: 0.110.1
80
+ version: '0.112'
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: git
77
83
  requirement: !ruby/object:Gem::Requirement
78
84
  requirements:
79
85
  - - "~>"
80
86
  - !ruby/object:Gem::Version
81
- version: '1.13'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 1.13.1
87
+ version: '1.18'
85
88
  type: :runtime
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
92
  - - "~>"
90
93
  - !ruby/object:Gem::Version
91
- version: '1.13'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 1.13.1
94
+ version: '1.18'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: aranha-parsers
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -193,6 +193,8 @@ files:
193
193
  - lib/avm/git/scms/git/milestones.rb
194
194
  - lib/avm/git/scms/git/run_commit.rb
195
195
  - lib/avm/git/scms/git_sub_base.rb
196
+ - lib/avm/git/scms/git_sub_base/commit.rb
197
+ - lib/avm/git/scms/git_sub_base/interval.rb
196
198
  - lib/avm/git/scms/git_subrepo.rb
197
199
  - lib/avm/git/scms/git_subtree.rb
198
200
  - lib/avm/git/scms/provider.rb