rake_git 0.1.0.pre.1 → 0.1.0.pre.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 356fffe3afc40a729723093062c4df0c432691e8e228e64f566255bffc81e60c
4
- data.tar.gz: 77302c335cbb3b64840cff938c83720d10d52ab2e5961f515866d8fbaff627c8
3
+ metadata.gz: '097af0d8ffc07be694fb8a0d952fbd25b177e47e91709973e977c0c36ce03f5f'
4
+ data.tar.gz: 1e2901966720528d16af0bbc9696ccfd5ee2f04efb69ffcb541e28ac6cb84f84
5
5
  SHA512:
6
- metadata.gz: 0ca7d68d60bcf18b4730f7843962f80e4d1b8f6fb41ac4e3b1398d9a50a770f669efb0e518667cce42e918c12807bc8fe13bcf26bfd66c12871deae15e0cb8b5
7
- data.tar.gz: d49987c1abbfa262d9739543adda020bb6e6b2c0adccaeacbfdc2f68c774d0c37f73c50a9795109d2414ecf723ce8ccaa1988d55caadc786be996d39875142bc
6
+ metadata.gz: 2fecd4079ac3fac3dbe5c101602f23859c700db5b13160a94116b05febfca820e772df46d08249648daccc80180f57a2e12ac02b5790d30e412ea84e816da02c
7
+ data.tar.gz: da1d0dac9484c9fab0b2ee961c7f8706e50bea91f81b5b73383140fabd1bc8867642251903998d77ccd1e6ae4706ee03595c53a4afc778d92eac8bb332bb64b2
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_git (0.1.0.pre.1)
4
+ rake_git (0.1.0.pre.3)
5
5
  colored2 (~> 3.1)
6
+ git (~> 1.13, >= 1.13.2)
6
7
  rake_factory (= 0.32.0.pre.2)
7
8
 
8
9
  GEM
@@ -26,6 +27,9 @@ GEM
26
27
  ruby2_keywords (>= 0.0.4)
27
28
  faraday-net_http (3.0.2)
28
29
  gem-release (2.2.2)
30
+ git (1.13.2)
31
+ addressable (~> 2.8)
32
+ rchardet (~> 1.8)
29
33
  hamster (3.0.0)
30
34
  concurrent-ruby (~> 1.0)
31
35
  i18n (1.12.0)
@@ -55,7 +59,7 @@ GEM
55
59
  rake_factory (0.32.0.pre.2)
56
60
  activesupport (>= 4)
57
61
  rake (~> 13.0)
58
- rake_git_crypt (0.1.0.pre.25)
62
+ rake_git_crypt (0.1.0.pre.26)
59
63
  colored2 (~> 3.1)
60
64
  rake_factory (= 0.32.0.pre.2)
61
65
  ruby_git_crypt (= 0.1.0.pre.2)
@@ -72,6 +76,7 @@ GEM
72
76
  colored2 (~> 3.1)
73
77
  rake_factory (~> 0.23)
74
78
  sshkey (~> 2.0)
79
+ rchardet (1.8.0)
75
80
  regexp_parser (2.6.2)
76
81
  rexml (3.2.5)
77
82
  rspec (3.12.0)
@@ -1,15 +1,55 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rake_factory'
4
+ require 'git'
4
5
 
5
6
  module RakeGit
6
7
  module Tasks
7
8
  class Commit < RakeFactory::Task
8
9
  default_name :commit
9
- default_description 'Produce a commit on the current branch.'
10
+ default_description 'Commit changes to git.'
11
+
12
+ parameter :message, required: true
13
+
14
+ parameter :stage_tracked_files, default: true
15
+ parameter :stage_untracked_files, default: true
16
+
17
+ parameter :working_directory, default: '.'
10
18
 
11
19
  action do
12
- puts('Committing...')
20
+ puts('Committing changes to git...')
21
+ base = Git.open(working_directory)
22
+
23
+ maybe_stage_tracked_files(base)
24
+ maybe_stage_untracked_files(base)
25
+ commit(base)
26
+ end
27
+
28
+ private
29
+
30
+ def maybe_stage_tracked_files(base)
31
+ return unless stage_tracked_files
32
+
33
+ status = base.status
34
+ base.add(
35
+ [
36
+ *status.added.keys,
37
+ *status.changed.keys,
38
+ *status.deleted.keys
39
+ ],
40
+ all: true
41
+ )
42
+ end
43
+
44
+ def maybe_stage_untracked_files(base)
45
+ return unless stage_untracked_files
46
+
47
+ status = base.status
48
+ base.add(status.untracked.keys, all: true)
49
+ end
50
+
51
+ def commit(base)
52
+ base.commit(message)
13
53
  end
14
54
  end
15
55
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RakeGit
4
- VERSION = '0.1.0.pre.1'
4
+ VERSION = '0.1.0.pre.3'
5
5
  end
data/rake_git.gemspec CHANGED
@@ -37,6 +37,7 @@ Gem::Specification.new do |spec|
37
37
  spec.required_ruby_version = '>= 2.7'
38
38
 
39
39
  spec.add_dependency 'colored2', '~> 3.1'
40
+ spec.add_dependency 'git', '~> 1.13', '>= 1.13.2'
40
41
  spec.add_dependency 'rake_factory', '0.32.0.pre.2'
41
42
 
42
43
  spec.metadata['rubygems_mfa_required'] = 'false'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.1
4
+ version: 0.1.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-04 00:00:00.000000000 Z
11
+ date: 2023-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2
@@ -24,6 +24,26 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: git
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.13'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 1.13.2
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '1.13'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.13.2
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: rake_factory
29
49
  requirement: !ruby/object:Gem::Requirement