git_cli 0.11.0 → 0.11.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: 77fb6b4308d34a185d9ba1355470893a53b15ee9710953ed0079c4847d8dc59d
4
- data.tar.gz: 27d246f6554b2aa688738a38e21a2e985f8cbbb504d702f3ff0c0127ecd48949
3
+ metadata.gz: bc750608285dcc1362ed54813744bc70765f74a808dc3a6f833fa2b846cdf93e
4
+ data.tar.gz: 9a686f33dc16a654fc534999098ef7e8981c8ebf5264429ffd837e62cfabd175
5
5
  SHA512:
6
- metadata.gz: bfb96c8d437b6df087b875be71c70a8cea9f6d92bf5aac59c4a7fd1eeb3c756bcaccc4850ff1f4caa8e83f4a26a9c24a536122f0b37841ce16613ee571f90f92
7
- data.tar.gz: 1cbfb647558fd5d0bb1b0909fb29aa02fe3f668c5796b5097d6d29c3b5f7c72b802a50f0640475a7482e0af379d49240058a1ca1183315f60f3a57645bc31de3
6
+ metadata.gz: 1912f145438b920f90efc5cf42b78fe2d2bb163d240ffd5a67124d541529bb7e02e740bf9d5c1ab85e5a94230532739cd5cbe3a05637fd7b9b07a8e5f4a41cb3
7
+ data.tar.gz: '060151482263dc869181d9ad369cd8e5b1aec32b126dd67e03a5365d59e45834751a21065ae9e725c2e1b8a977cddc75094d4b1917aa8cf1117c424d4b1e859d'
data/.gitignore CHANGED
@@ -6,9 +6,9 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
- Gemfile.lock
10
9
  tags
11
- git_cli-0.1.0.gem
10
+ *.gem
12
11
  *.log
13
12
 
14
13
  .rake_tasks~
14
+ Gemfile.lock_
data/.release_history.yml CHANGED
@@ -2,3 +2,9 @@
2
2
  git_cli:
3
3
  - :version: 0.10.0
4
4
  :timestamp: 1661971875.794398
5
+ - :version: 0.11.0
6
+ :timestamp: 1676968140.9885945
7
+ - :version: 0.11.1
8
+ :timestamp: 1676968358.595788
9
+ - :version: 0.11.2
10
+ :timestamp: 1676968433.2215726
data/Gemfile CHANGED
@@ -6,4 +6,4 @@ gemspec
6
6
  gem "rake", "~> 12.0"
7
7
  gem "minitest", "~> 5.0"
8
8
 
9
- gem 'gvcs', git: 'gvcs', branch: 'master'
9
+ #gem 'gvcs', git: 'gvcs', branch: 'master'
data/Gemfile.lock ADDED
@@ -0,0 +1,31 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ git_cli (0.11.2)
5
+ gvcs
6
+ ptools (~> 1.4.0)
7
+ teLogger
8
+ toolrack
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ gem-release (2.2.2)
14
+ gvcs (0.1.1)
15
+ minitest (5.17.0)
16
+ ptools (1.4.3)
17
+ rake (12.3.3)
18
+ teLogger (0.2.2)
19
+ toolrack (0.21.0)
20
+
21
+ PLATFORMS
22
+ x86_64-linux
23
+
24
+ DEPENDENCIES
25
+ gem-release
26
+ git_cli!
27
+ minitest (~> 5.0)
28
+ rake (~> 12.0)
29
+
30
+ BUNDLED WITH
31
+ 2.2.28
data/git_cli.gemspec CHANGED
@@ -34,5 +34,6 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency "ptools", "~> 1.4.0"
35
35
 
36
36
  #spec.add_development_dependency 'devops_helper' #, ">= 0.2.0"
37
- spec.add_development_dependency 'devops_assist' #, ">= 0.2.0"
37
+ #spec.add_development_dependency 'devops_assist' #, ">= 0.2.0"
38
+ spec.add_development_dependency 'gem-release'
38
39
  end
@@ -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
- if not st.success?
131
- raise CommitError, res
132
- else
133
- res
134
- end
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
@@ -32,6 +32,10 @@ module GitCli
32
32
  def <=>(val)
33
33
  @path <=> val.path
34
34
  end
35
+
36
+ def ==(val)
37
+ @path == val.path
38
+ end
35
39
  end
36
40
  class NewDir < VCSItem
37
41
  def initialize(path, full)
@@ -394,13 +398,25 @@ module GitCli
394
398
 
395
399
  def is_local_ahead_of_remote?(remote_name, branch = "main")
396
400
 
397
- calculate_distance("#{remote_name}/#{branch}", "HEAD")
401
+ st, res = calculate_distance("#{remote_name}/#{branch}", "HEAD")
402
+ if st
403
+ res.to_i > 0
404
+ else
405
+ # not push before
406
+ true
407
+ end
398
408
 
399
409
  end
400
410
 
401
411
  def is_remote_ahead_of_local?(remote_name, branch = "main")
402
412
 
403
- calculate_distance("HEAD","#{remote_name}/#{branch}")
413
+ st, res = calculate_distance("HEAD","#{remote_name}/#{branch}")
414
+ if st
415
+ res.to_i > 0
416
+ else
417
+ # never pull before?
418
+ true
419
+ end
404
420
  end
405
421
 
406
422
  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
- [true, res.strip!]
80
- else
81
- [false, res]
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
@@ -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,"a") do |f|
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
@@ -15,5 +15,5 @@
15
15
  # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
16
 
17
17
  module GitCli
18
- VERSION = "0.11.0"
18
+ VERSION = "0.11.3"
19
19
  end
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
- res = Antrapol::ToolRack::ProcessUtilsEngine.exec(path)
55
- if block
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.strip
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.0
4
+ version: 0.11.3
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-02-21 00:00:00.000000000 Z
11
+ date: 2023-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: teLogger
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.4.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: devops_assist
70
+ name: gem-release
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -94,6 +94,7 @@ files:
94
94
  - ".version_history.yml"
95
95
  - CODE_OF_CONDUCT.md
96
96
  - Gemfile
97
+ - Gemfile.lock
97
98
  - LICENSE.txt
98
99
  - README.md
99
100
  - Rakefile
@@ -139,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
140
  - !ruby/object:Gem::Version
140
141
  version: '0'
141
142
  requirements: []
142
- rubygems_version: 3.2.22
143
+ rubygems_version: 3.4.10
143
144
  signing_key:
144
145
  specification_version: 4
145
146
  summary: GIT command line interface