git_cli 0.11.2 → 0.11.4
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/.gitignore +1 -0
- data/.release_history.yml +4 -0
- data/Gemfile.lock +21 -9
- data/Rakefile +1 -0
- data/git_cli.gemspec +2 -0
- data/lib/git_cli/add_commit.rb +9 -8
- data/lib/git_cli/delta.rb +27 -3
- data/lib/git_cli/diff.rb +6 -6
- data/lib/git_cli/ignore.rb +6 -4
- data/lib/git_cli/tags.rb +27 -0
- data/lib/git_cli/version.rb +1 -1
- data/lib/git_cli.rb +21 -9
- metadata +31 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8c844000e4bc30d57687dc1e43d0fc0e46744db06376e00508c6d534be047d54
|
|
4
|
+
data.tar.gz: 54ab8c78a819454e0d037c8b73b66003757fc735e828700749bf8010504233c2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 20314f09b8b43ea58b8e19e7fc9f9260622b45b9c63ee84b754f0f59ebe52e89b41142c6c2df9e98480d6ec1807e9f814877c4f43344b9b6bbcd27952c4d1c12
|
|
7
|
+
data.tar.gz: 7054bf58a5bb2fb0221d5b6dbf5c28be0371e0f1a02e63ab8d47765c04a77e2a707e770da14c3ec2089844998c15ddbe0e40b05c410092ed640782a9fc88d0cd
|
data/.gitignore
CHANGED
data/.release_history.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
git_cli (0.11.
|
|
4
|
+
git_cli (0.11.4)
|
|
5
5
|
gvcs
|
|
6
6
|
ptools (~> 1.4.0)
|
|
7
7
|
teLogger
|
|
@@ -10,28 +10,38 @@ PATH
|
|
|
10
10
|
GEM
|
|
11
11
|
remote: https://rubygems.org/
|
|
12
12
|
specs:
|
|
13
|
-
|
|
14
|
-
devops_assist (0.3.
|
|
13
|
+
colorize (0.8.1)
|
|
14
|
+
devops_assist (0.3.11)
|
|
15
15
|
git_cli
|
|
16
|
-
git_cli_prompt
|
|
16
|
+
git_cli_prompt (~> 0.3.3)
|
|
17
17
|
gvcs
|
|
18
18
|
teLogger
|
|
19
19
|
toolrack
|
|
20
20
|
tty-prompt
|
|
21
|
-
|
|
21
|
+
gem-release (2.2.2)
|
|
22
|
+
git_cli_prompt (0.3.4)
|
|
22
23
|
teLogger
|
|
23
24
|
toolrack
|
|
24
25
|
tty-prompt
|
|
25
|
-
gvcs (0.1.
|
|
26
|
-
minitest (5.
|
|
26
|
+
gvcs (0.1.2)
|
|
27
|
+
minitest (5.18.0)
|
|
27
28
|
pastel (0.8.0)
|
|
28
29
|
tty-color (~> 0.5)
|
|
29
30
|
ptools (1.4.3)
|
|
30
31
|
rake (12.3.3)
|
|
32
|
+
release-gem (0.1.10)
|
|
33
|
+
colorize
|
|
34
|
+
git_cli
|
|
35
|
+
gvcs
|
|
36
|
+
teLogger
|
|
37
|
+
toolrack
|
|
38
|
+
tty-command
|
|
39
|
+
tty-prompt
|
|
31
40
|
teLogger (0.2.2)
|
|
32
|
-
toolrack (0.
|
|
33
|
-
base58
|
|
41
|
+
toolrack (0.22.0)
|
|
34
42
|
tty-color (0.6.0)
|
|
43
|
+
tty-command (0.10.1)
|
|
44
|
+
pastel (~> 0.8)
|
|
35
45
|
tty-cursor (0.7.1)
|
|
36
46
|
tty-prompt (0.23.1)
|
|
37
47
|
pastel (~> 0.8)
|
|
@@ -48,9 +58,11 @@ PLATFORMS
|
|
|
48
58
|
|
|
49
59
|
DEPENDENCIES
|
|
50
60
|
devops_assist
|
|
61
|
+
gem-release
|
|
51
62
|
git_cli!
|
|
52
63
|
minitest (~> 5.0)
|
|
53
64
|
rake (~> 12.0)
|
|
65
|
+
release-gem
|
|
54
66
|
|
|
55
67
|
BUNDLED WITH
|
|
56
68
|
2.2.28
|
data/Rakefile
CHANGED
data/git_cli.gemspec
CHANGED
|
@@ -35,4 +35,6 @@ Gem::Specification.new do |spec|
|
|
|
35
35
|
|
|
36
36
|
#spec.add_development_dependency 'devops_helper' #, ">= 0.2.0"
|
|
37
37
|
spec.add_development_dependency 'devops_assist' #, ">= 0.2.0"
|
|
38
|
+
spec.add_development_dependency 'gem-release'
|
|
39
|
+
spec.add_development_dependency 'release-gem'
|
|
38
40
|
end
|
data/lib/git_cli/add_commit.rb
CHANGED
|
@@ -20,7 +20,7 @@ module GitCli
|
|
|
20
20
|
|
|
21
21
|
class CommitError < StandardError; end
|
|
22
22
|
|
|
23
|
-
def add_to_staging(paths)
|
|
23
|
+
def add_to_staging(*paths)
|
|
24
24
|
check_vcs
|
|
25
25
|
|
|
26
26
|
raise_if_empty(paths, "Given path to add is empty", GitCliException)
|
|
@@ -33,7 +33,7 @@ module GitCli
|
|
|
33
33
|
cmd << "&&"
|
|
34
34
|
cmd << @vcs.exe_path
|
|
35
35
|
cmd << "add"
|
|
36
|
-
cmd.append(paths)
|
|
36
|
+
cmd.append(paths.join(" "))
|
|
37
37
|
cmdln = cmd.join " "
|
|
38
38
|
|
|
39
39
|
log_debug "Add : #{cmdln}"
|
|
@@ -126,12 +126,13 @@ module GitCli
|
|
|
126
126
|
log_debug "Commit : #{cmdln}"
|
|
127
127
|
|
|
128
128
|
os_exec(cmdln) do |st, res|
|
|
129
|
-
res.strip!
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
[st.success?, res.strip!]
|
|
130
|
+
#res.strip!
|
|
131
|
+
#if not st.success?
|
|
132
|
+
# raise CommitError, res
|
|
133
|
+
#else
|
|
134
|
+
# res
|
|
135
|
+
#end
|
|
135
136
|
end
|
|
136
137
|
|
|
137
138
|
end # commit
|
data/lib/git_cli/delta.rb
CHANGED
|
@@ -30,7 +30,19 @@ module GitCli
|
|
|
30
30
|
|
|
31
31
|
# support sort
|
|
32
32
|
def <=>(val)
|
|
33
|
-
|
|
33
|
+
if val.is_a?(VCSItem)
|
|
34
|
+
@path <=> val.path
|
|
35
|
+
else
|
|
36
|
+
false
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def ==(val)
|
|
41
|
+
if val.is_a?(VCSItem)
|
|
42
|
+
@path == val.path
|
|
43
|
+
else
|
|
44
|
+
false
|
|
45
|
+
end
|
|
34
46
|
end
|
|
35
47
|
end
|
|
36
48
|
class NewDir < VCSItem
|
|
@@ -394,13 +406,25 @@ module GitCli
|
|
|
394
406
|
|
|
395
407
|
def is_local_ahead_of_remote?(remote_name, branch = "main")
|
|
396
408
|
|
|
397
|
-
calculate_distance("#{remote_name}/#{branch}", "HEAD")
|
|
409
|
+
st, res = calculate_distance("#{remote_name}/#{branch}", "HEAD")
|
|
410
|
+
if st
|
|
411
|
+
res.to_i > 0
|
|
412
|
+
else
|
|
413
|
+
# not push before
|
|
414
|
+
true
|
|
415
|
+
end
|
|
398
416
|
|
|
399
417
|
end
|
|
400
418
|
|
|
401
419
|
def is_remote_ahead_of_local?(remote_name, branch = "main")
|
|
402
420
|
|
|
403
|
-
calculate_distance("HEAD","#{remote_name}/#{branch}")
|
|
421
|
+
st, res = calculate_distance("HEAD","#{remote_name}/#{branch}")
|
|
422
|
+
if st
|
|
423
|
+
res.to_i > 0
|
|
424
|
+
else
|
|
425
|
+
# never pull before?
|
|
426
|
+
true
|
|
427
|
+
end
|
|
404
428
|
end
|
|
405
429
|
|
|
406
430
|
end
|
data/lib/git_cli/diff.rb
CHANGED
|
@@ -74,12 +74,12 @@ module GitCli
|
|
|
74
74
|
log_debug "#{opts[:log_tag]} : #{cmdln} "
|
|
75
75
|
|
|
76
76
|
res = os_exec(cmdln) do |st, res|
|
|
77
|
-
|
|
78
|
-
if st.success?
|
|
79
|
-
|
|
80
|
-
else
|
|
81
|
-
|
|
82
|
-
end
|
|
77
|
+
[st.success?, res.strip!]
|
|
78
|
+
#if st.success?
|
|
79
|
+
# [true, res.strip!]
|
|
80
|
+
#else
|
|
81
|
+
# [false, res]
|
|
82
|
+
#end
|
|
83
83
|
end
|
|
84
84
|
|
|
85
85
|
end
|
data/lib/git_cli/ignore.rb
CHANGED
|
@@ -20,9 +20,10 @@ module GitCli
|
|
|
20
20
|
module Ignore
|
|
21
21
|
|
|
22
22
|
def ignore(*val)
|
|
23
|
-
with_ignore_file do |f|
|
|
23
|
+
with_ignore_file("a+") do |f|
|
|
24
|
+
cont = f.read
|
|
24
25
|
val.each do |v|
|
|
25
|
-
f.puts v
|
|
26
|
+
f.puts(v) if (cont =~ /^#{v}\Z/) == nil
|
|
26
27
|
end
|
|
27
28
|
#f.puts val
|
|
28
29
|
end
|
|
@@ -62,14 +63,15 @@ module GitCli
|
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
private
|
|
65
|
-
def with_ignore_file(&block)
|
|
66
|
+
def with_ignore_file(mode = "a", &block)
|
|
67
|
+
mode = "a" if is_empty?(mode)
|
|
66
68
|
if block
|
|
67
69
|
st, root = workspace_root
|
|
68
70
|
root.strip!
|
|
69
71
|
if st
|
|
70
72
|
igPath = File.join(root,".gitignore")
|
|
71
73
|
FileUtils.touch(igPath) if not File.exist?(igPath)
|
|
72
|
-
File.open(igPath,
|
|
74
|
+
File.open(igPath,mode) do |f|
|
|
73
75
|
block.call(f)
|
|
74
76
|
end
|
|
75
77
|
else
|
data/lib/git_cli/tags.rb
CHANGED
|
@@ -347,5 +347,32 @@ module GitCli
|
|
|
347
347
|
|
|
348
348
|
end # checkout_tag
|
|
349
349
|
|
|
350
|
+
def tag_points_at?(dest = "HEAD")
|
|
351
|
+
|
|
352
|
+
#raise_if_empty(tag, "Tag name cannot be empty", GitCliException)
|
|
353
|
+
|
|
354
|
+
check_vcs
|
|
355
|
+
|
|
356
|
+
cmd = []
|
|
357
|
+
cmd << "cd"
|
|
358
|
+
cmd << @wsPath
|
|
359
|
+
cmd << "&&"
|
|
360
|
+
cmd << @vcs.exe_path
|
|
361
|
+
cmd << "tag"
|
|
362
|
+
cmd << "--points-at"
|
|
363
|
+
cmd << dest
|
|
364
|
+
|
|
365
|
+
cmdln = cmd.join(" ")
|
|
366
|
+
log_debug "Check if current tag is pointing to #{dest}"
|
|
367
|
+
res = os_exec(cmdln) do |st, res|
|
|
368
|
+
if st.success?
|
|
369
|
+
not_empty?(res.strip)
|
|
370
|
+
else
|
|
371
|
+
raise TagError, res
|
|
372
|
+
end
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
end # is_tag_points_at?
|
|
376
|
+
|
|
350
377
|
end
|
|
351
378
|
end
|
data/lib/git_cli/version.rb
CHANGED
data/lib/git_cli.rb
CHANGED
|
@@ -51,14 +51,18 @@ module GitCli
|
|
|
51
51
|
|
|
52
52
|
# redirect stderr to stdout
|
|
53
53
|
path = "#{path} 2>&1"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
# $?.exitstatus => error codes
|
|
57
|
-
# $?.success? => true / false
|
|
58
|
-
# $?.pid => child PID
|
|
59
|
-
block.call($?, res)
|
|
54
|
+
if dry_run
|
|
55
|
+
block.call(:dry_run_command, path) if block
|
|
60
56
|
else
|
|
61
|
-
res.
|
|
57
|
+
res = Antrapol::ToolRack::ProcessUtilsEngine.exec(path)
|
|
58
|
+
if block
|
|
59
|
+
# $?.exitstatus => error codes
|
|
60
|
+
# $?.success? => true / false
|
|
61
|
+
# $?.pid => child PID
|
|
62
|
+
block.call($?, res)
|
|
63
|
+
else
|
|
64
|
+
res.strip
|
|
65
|
+
end
|
|
62
66
|
end
|
|
63
67
|
end
|
|
64
68
|
|
|
@@ -73,6 +77,14 @@ module GitCli
|
|
|
73
77
|
def log_warn(str)
|
|
74
78
|
GitCli::Global.instance.logger.warn(str)
|
|
75
79
|
end
|
|
80
|
+
|
|
81
|
+
def dry_run=(val)
|
|
82
|
+
@dry_run = val if not_empty?(val) and is_bool?(val)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def dry_run
|
|
86
|
+
@dry_run.nil? ? false : @dry_run
|
|
87
|
+
end
|
|
76
88
|
end # common operations
|
|
77
89
|
|
|
78
90
|
class Gvcs::Vcs
|
|
@@ -202,9 +214,9 @@ module GitCli
|
|
|
202
214
|
res = os_exec(cmdln) do |st, res|
|
|
203
215
|
|
|
204
216
|
if st.success?
|
|
205
|
-
@wsRoot = [true, res]
|
|
217
|
+
@wsRoot = [true, res.strip]
|
|
206
218
|
else
|
|
207
|
-
@wsRoot = [false, res]
|
|
219
|
+
@wsRoot = [false, res.strip]
|
|
208
220
|
end
|
|
209
221
|
end
|
|
210
222
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: git_cli
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.11.
|
|
4
|
+
version: 0.11.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Chris Liaw
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-04-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: teLogger
|
|
@@ -80,6 +80,34 @@ dependencies:
|
|
|
80
80
|
- - ">="
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: gem-release
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: release-gem
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
83
111
|
description: Interface to GIT via command line interface instead of some sor of library
|
|
84
112
|
email:
|
|
85
113
|
- chrisliaw@antrapol.com
|
|
@@ -140,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
140
168
|
- !ruby/object:Gem::Version
|
|
141
169
|
version: '0'
|
|
142
170
|
requirements: []
|
|
143
|
-
rubygems_version: 3.
|
|
171
|
+
rubygems_version: 3.4.10
|
|
144
172
|
signing_key:
|
|
145
173
|
specification_version: 4
|
|
146
174
|
summary: GIT command line interface
|