avm-git 0.11.0 → 0.12.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/git/scms/git/change_tracker.rb +2 -2
- data/lib/avm/git/scms/git/commits.rb +13 -9
- data/lib/avm/git/scms/git_sub_base.rb +17 -0
- data/lib/avm/git/scms/git_subrepo.rb +2 -5
- data/lib/avm/git/scms/git_subtree.rb +26 -0
- data/lib/avm/git/scms/provider.rb +3 -1
- data/lib/avm/git/version.rb +1 -1
- data/locale/en.yml +6 -0
- data/locale/pt-BR.yml +6 -0
- metadata +14 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 447507fccfbdccc90a778e94ea7dbc81e2600cab181994857ee1e2644d80ca9a
|
4
|
+
data.tar.gz: cf78b8c4eb61432fc10369703fdb2309fca8e4c30fb92c2dc507262c30d8c070
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d54484f2a54ca4a8a315e47044f0450acbb74b8f95f39cf9ff2c803600cc7a4d1b08209d3ccb66a3da9070fefb846b71cc3d0cdd8b497e438b76a4bedc1d47e
|
7
|
+
data.tar.gz: ea4c503d46c43fce7d44b38e69792a16c6b380a5a448fbd7e959cbb2e7348123f809ac3b9a52c090a670edca80c98e3ba21ab5157327b8d3a608037b4f8c5f1b
|
@@ -7,7 +7,7 @@ module Avm
|
|
7
7
|
module Scms
|
8
8
|
class Git < ::Avm::Scms::Base
|
9
9
|
class ChangeTracker
|
10
|
-
common_constructor :git_scm, :
|
10
|
+
common_constructor :git_scm, :commit_info
|
11
11
|
attr_reader :starting_commit
|
12
12
|
delegate :git_repo, to: :git_scm
|
13
13
|
|
@@ -22,7 +22,7 @@ module Avm
|
|
22
22
|
git_scm.commit_dirty
|
23
23
|
return nil if starting_commit == git_repo.head
|
24
24
|
|
25
|
-
git_scm.reset_and_commit(starting_commit,
|
25
|
+
git_scm.reset_and_commit(starting_commit, commit_info)
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
@@ -20,21 +20,24 @@ module Avm
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
# @param commit_info [Avm::Scms::CommitInfo]
|
23
24
|
# @return [Avm::Git::Scms::Git::Commit,nil]
|
24
|
-
def commit_dirty(
|
25
|
+
def commit_dirty(commit_info = nil)
|
25
26
|
return nil unless git_repo.dirty?
|
26
27
|
|
28
|
+
commit_info = ::Avm::Scms::CommitInfo.assert(commit_info)
|
29
|
+
commit_info = commit_info.message(COMMIT_DIRTY_DEFAULT_MESSAGE) if
|
30
|
+
commit_info.message.blank?
|
31
|
+
|
27
32
|
git_repo.command('add', '.').execute!
|
28
|
-
|
29
|
-
'commit', '-m',
|
30
|
-
message.call_if_proc.if_present(COMMIT_DIRTY_DEFAULT_MESSAGE)
|
31
|
-
).execute!
|
33
|
+
run_commit(commit_info)
|
32
34
|
head_commit
|
33
35
|
end
|
34
36
|
|
37
|
+
# @param commit_info [Avm::Scms::CommitInfo]
|
35
38
|
# @return [Avm::Git::Scms::Git::Commit,nil]
|
36
|
-
def commit_if_change(
|
37
|
-
tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self,
|
39
|
+
def commit_if_change(commit_info = nil)
|
40
|
+
tracker = ::Avm::Git::Scms::Git::ChangeTracker.new(self, commit_info)
|
38
41
|
tracker.start
|
39
42
|
yield
|
40
43
|
tracker.stop
|
@@ -45,10 +48,11 @@ module Avm
|
|
45
48
|
commit(git_repo.head)
|
46
49
|
end
|
47
50
|
|
51
|
+
# @param commit_info [Avm::Scms::CommitInfo]
|
48
52
|
# @return [Avm::Git::Scms::Git::Commit]
|
49
|
-
def reset_and_commit(commit_to_reset,
|
53
|
+
def reset_and_commit(commit_to_reset, commit_info)
|
50
54
|
git_repo.command('reset', '--soft', commit(commit_to_reset).git_commit.id).execute!
|
51
|
-
commit_dirty(
|
55
|
+
commit_dirty(commit_info)
|
52
56
|
end
|
53
57
|
end
|
54
58
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/scms/base'
|
4
|
+
require 'eac_ruby_utils/core_ext'
|
5
|
+
|
6
|
+
module Avm
|
7
|
+
module Git
|
8
|
+
module Scms
|
9
|
+
class GitSubBase < ::Avm::Scms::Base
|
10
|
+
enable_abstract_methods
|
11
|
+
|
12
|
+
delegate :changed_files, :commit_if_change, :current_milestone_base_commit, :interval,
|
13
|
+
:head_commit, :reset_and_commit, :run_commit, to: :parent_scm
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,16 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'avm/scms/
|
3
|
+
require 'avm/git/scms/git_sub_base'
|
4
4
|
require 'eac_git/local'
|
5
5
|
require 'eac_ruby_utils/core_ext'
|
6
6
|
|
7
7
|
module Avm
|
8
8
|
module Git
|
9
9
|
module Scms
|
10
|
-
class GitSubrepo < ::Avm::Scms::
|
11
|
-
delegate :changed_files, :commit_if_change, :current_milestone_base_commit, :interval,
|
12
|
-
:head_commit, :run_commit, to: :parent_scm
|
13
|
-
|
10
|
+
class GitSubrepo < ::Avm::Git::Scms::GitSubBase
|
14
11
|
def update
|
15
12
|
git_subrepo.command('clean').execute!
|
16
13
|
git_subrepo.command('pull').execute!
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'avm/git/scms/provider'
|
4
|
+
require 'avm/git/scms/git_sub_base'
|
5
|
+
require 'avm/scms/base'
|
6
|
+
require 'eac_ruby_utils/core_ext'
|
7
|
+
|
8
|
+
module Avm
|
9
|
+
module Git
|
10
|
+
module Scms
|
11
|
+
class GitSubtree < ::Avm::Git::Scms::GitSubBase
|
12
|
+
def update
|
13
|
+
# Do nothing
|
14
|
+
end
|
15
|
+
|
16
|
+
def valid?
|
17
|
+
return false unless ::Avm::Git::Scms::Provider
|
18
|
+
.new.all.any? { |scm_class| parent_scm.is_a?(scm_class) }
|
19
|
+
|
20
|
+
(::Avm::Git::Scms::Provider.new.all - [self.class])
|
21
|
+
.lazy.map { |scm_class| scm_class.new(path) }.none?(&:valid?)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -2,13 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'avm/git/scms/git'
|
4
4
|
require 'avm/git/scms/git_subrepo'
|
5
|
+
require 'avm/git/scms/git_subtree'
|
5
6
|
require 'eac_ruby_utils/core_ext'
|
6
7
|
|
7
8
|
module Avm
|
8
9
|
module Git
|
9
10
|
module Scms
|
10
11
|
class Provider
|
11
|
-
SCMS = [::Avm::Git::Scms::Git, ::Avm::Git::Scms::GitSubrepo
|
12
|
+
SCMS = [::Avm::Git::Scms::Git, ::Avm::Git::Scms::GitSubrepo,
|
13
|
+
::Avm::Git::Scms::GitSubtree].freeze
|
12
14
|
|
13
15
|
def all
|
14
16
|
SCMS
|
data/lib/avm/git/version.rb
CHANGED
data/locale/en.yml
ADDED
data/locale/pt-BR.yml
ADDED
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.12.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: 2023-01-
|
11
|
+
date: 2023-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: avm
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.61'
|
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.61'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: avm-files
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -79,6 +79,9 @@ dependencies:
|
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '1.13'
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 1.13.1
|
82
85
|
type: :runtime
|
83
86
|
prerelease: false
|
84
87
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -86,6 +89,9 @@ dependencies:
|
|
86
89
|
- - "~>"
|
87
90
|
- !ruby/object:Gem::Version
|
88
91
|
version: '1.13'
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 1.13.1
|
89
95
|
- !ruby/object:Gem::Dependency
|
90
96
|
name: aranha-parsers
|
91
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -186,7 +192,9 @@ files:
|
|
186
192
|
- lib/avm/git/scms/git/interval.rb
|
187
193
|
- lib/avm/git/scms/git/milestones.rb
|
188
194
|
- lib/avm/git/scms/git/run_commit.rb
|
195
|
+
- lib/avm/git/scms/git_sub_base.rb
|
189
196
|
- lib/avm/git/scms/git_subrepo.rb
|
197
|
+
- lib/avm/git/scms/git_subtree.rb
|
190
198
|
- lib/avm/git/scms/provider.rb
|
191
199
|
- lib/avm/git/subrepo_check.rb
|
192
200
|
- lib/avm/git/subrepo_check/parent.rb
|
@@ -196,6 +204,8 @@ files:
|
|
196
204
|
- lib/avm/git/vendor.rb
|
197
205
|
- lib/avm/git/vendor/github.rb
|
198
206
|
- lib/avm/git/version.rb
|
207
|
+
- locale/en.yml
|
208
|
+
- locale/pt-BR.yml
|
199
209
|
homepage:
|
200
210
|
licenses: []
|
201
211
|
metadata: {}
|