trk 0.1.8 ā 0.1.9
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/README.md +1 -0
- data/lib/trk/cli.rb +44 -10
- data/lib/trk/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 90564bb5743c70ff927900dbcb29c94264daa6a9d956f9d5c8459856a248b206
|
4
|
+
data.tar.gz: 794412abfb305ca51b57ece396051cfe892677dad151a3ca097aaae5957b1d61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66fae02f19163eabbe3d992d5c48d9046def0c2538f7d443295e4ca7b14de80542d90310913b99261616e6f18b71161f56b44a415e5923d22446589a8557337e
|
7
|
+
data.tar.gz: b9024873d8ad9e7f92d50bb131c0fef22f232cae2d241941ae6cee6e9a9615b985539ee8cb31cd92db4c172aa22854e48f0e4e7ec090c4d2f7c12038785ae34a
|
data/README.md
CHANGED
data/lib/trk/cli.rb
CHANGED
@@ -3,6 +3,7 @@ require "open3"
|
|
3
3
|
require "net/http"
|
4
4
|
require "uri"
|
5
5
|
require "debug"
|
6
|
+
require "json"
|
6
7
|
|
7
8
|
module Trk
|
8
9
|
class CLI < Thor
|
@@ -47,17 +48,22 @@ module Trk
|
|
47
48
|
next unless File.directory?(File.join(dir, ".git"))
|
48
49
|
|
49
50
|
Dir.chdir(dir) do
|
50
|
-
puts "\nš
|
51
|
-
|
51
|
+
puts "\nš Check if the last commit is the same in: #{dir}"
|
52
|
+
# Get remote latest commit SHA via glab API
|
53
|
+
project_path = dir.sub("#{base_dir}/", "")
|
54
|
+
encoded_project = URI.encode_www_form_component(project_path)
|
55
|
+
stdout_remote, stderr, status_remote = Open3.capture3("glab api projects/#{encoded_project}/repository/commits?per_page=1")
|
56
|
+
if status_remote.success?
|
57
|
+
remote_commit = JSON.parse(stdout_remote).first["id"]
|
58
|
+
stdout_local, _stderr_local, status_local = Open3.capture3("git rev-parse HEAD")
|
59
|
+
local_commit = stdout_local.strip if status_local.success?
|
60
|
+
if remote_commit == local_commit
|
52
61
|
|
53
|
-
if status.success?
|
54
|
-
_stdout, stderr, status = Open3.capture3("git push")
|
55
|
-
if status.success?
|
56
62
|
stdout, stderr, _status = Open3.capture3("git status --porcelain")
|
57
63
|
if stdout.empty?
|
58
|
-
puts "#{CHECK_ICON}
|
64
|
+
puts "#{CHECK_ICON} Up-to-date: #{project_path}, skipping pull"
|
59
65
|
else
|
60
|
-
puts "#{UNCHECK_ICON} Git status --porcelain failed in: #{dir}\n#{stdout}\n#{stderr}"
|
66
|
+
puts "#{UNCHECK_ICON} Up-to-date but Git status --porcelain failed in: #{dir}\n#{stdout}\n#{stderr}"
|
61
67
|
system "git status"
|
62
68
|
system "git diff"
|
63
69
|
puts "Do you want to run 'git add . && git commit -amUpdate' and continue (Y/n) ?"
|
@@ -70,11 +76,39 @@ module Trk
|
|
70
76
|
end
|
71
77
|
end
|
72
78
|
else
|
73
|
-
puts "
|
74
|
-
|
79
|
+
puts "\nš Pulling updates in: #{dir}"
|
80
|
+
_stdout, stderr, status = Open3.capture3("git pull")
|
81
|
+
|
82
|
+
if status.success?
|
83
|
+
_stdout, stderr, status = Open3.capture3("git push")
|
84
|
+
if status.success?
|
85
|
+
stdout, stderr, _status = Open3.capture3("git status --porcelain")
|
86
|
+
if stdout.empty?
|
87
|
+
puts "#{CHECK_ICON} Git pull push successful in: #{dir}"
|
88
|
+
else
|
89
|
+
puts "#{UNCHECK_ICON} Git status --porcelain failed in: #{dir}\n#{stdout}\n#{stderr}"
|
90
|
+
system "git status"
|
91
|
+
system "git diff"
|
92
|
+
puts "Do you want to run 'git add . && git commit -amUpdate' and continue (Y/n) ?"
|
93
|
+
answer = $stdin.gets.strip.downcase
|
94
|
+
if answer == "" || answer == "y"
|
95
|
+
success = system "git add . && git commit -amUpdate && git push"
|
96
|
+
open_shell unless success
|
97
|
+
else
|
98
|
+
open_shell
|
99
|
+
end
|
100
|
+
end
|
101
|
+
else
|
102
|
+
puts "#{UNCHECK_ICON} Git push failed in: #{dir}\n#{stderr}"
|
103
|
+
open_shell
|
104
|
+
end
|
105
|
+
else
|
106
|
+
puts "#{UNCHECK_ICON} Git pull failed in: #{dir}\n#{stderr}"
|
107
|
+
open_shell
|
108
|
+
end
|
75
109
|
end
|
76
110
|
else
|
77
|
-
puts "#{UNCHECK_ICON}
|
111
|
+
puts "#{UNCHECK_ICON} Glab api failed: #{dir}\n#{stderr}"
|
78
112
|
open_shell
|
79
113
|
end
|
80
114
|
end
|
data/lib/trk/version.rb
CHANGED