gity 0.1.1 → 0.1.3
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/exe/gity +7 -1
- data/lib/gity/common.rb +12 -0
- data/lib/gity/flash.rb +59 -0
- data/lib/gity/git_log.rb +1 -1
- data/lib/gity/landing.rb +24 -0
- data/lib/gity/operation/commit.rb +32 -16
- data/lib/gity/operation.rb +1 -1
- data/lib/gity/overview.rb +5 -2
- data/lib/gity/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24e3d82d4348b8657a8ffc591187831ab5035bb52f44cc5cf3213a64539af116
|
4
|
+
data.tar.gz: 400b059ab5c831620d775995cd52c4830a731fd8c922b742a3001a92c134eedd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc414e26ec6ed146f616dabfdd346c97c54797f9603752665eeb0f1ea8478f59d93a9cc49d243e291e9e8e7cc73871430b0ae8f3ba12216ca5c4c3843a5632c3
|
7
|
+
data.tar.gz: 14d24905024c00d7b22d66682b7fd6c9e10913c8cb75d74d588353736475138d12880b56873cecf48e78bb3dc43c07f14626fc91358f2570dee42529c0c984f0
|
data/exe/gity
CHANGED
data/lib/gity/common.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
|
2
|
+
require_relative 'flash'
|
2
3
|
|
3
4
|
module Gity
|
4
5
|
module Common
|
@@ -24,11 +25,22 @@ module Gity
|
|
24
25
|
opts.each do |f|
|
25
26
|
res = _pastel.send(f, res)
|
26
27
|
end
|
28
|
+
#opts.each do |k,v|
|
29
|
+
# case k
|
30
|
+
# when :color
|
31
|
+
# res = _pastel.send(v, res)
|
32
|
+
# else
|
33
|
+
# end
|
34
|
+
#end
|
27
35
|
end
|
28
36
|
|
29
37
|
" #{res}"
|
30
38
|
end
|
31
39
|
|
40
|
+
def _flash
|
41
|
+
Flash.instance
|
42
|
+
end
|
43
|
+
|
32
44
|
def _operation_done(no_exit = false)
|
33
45
|
no_exit = false if no_exit.nil?
|
34
46
|
if no_exit
|
data/lib/gity/flash.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
|
2
|
+
require 'singleton'
|
3
|
+
|
4
|
+
module Gity
|
5
|
+
class Flash
|
6
|
+
include Singleton
|
7
|
+
include TR::CondUtils
|
8
|
+
|
9
|
+
def add_info(msg)
|
10
|
+
info_msg << msg if not_empty?(msg)
|
11
|
+
end
|
12
|
+
|
13
|
+
def add_error(msg)
|
14
|
+
error_msg << msg if not_empty?(msg)
|
15
|
+
end
|
16
|
+
|
17
|
+
def add_warning(msg)
|
18
|
+
warning_msg << msg if not_empty?(msg)
|
19
|
+
end
|
20
|
+
|
21
|
+
def has_messages?
|
22
|
+
not_empty?(info_msg) or not_empty?(error_msg) or not_empty?(warning_msg)
|
23
|
+
end
|
24
|
+
|
25
|
+
def has_info_msg?
|
26
|
+
not_empty?(info_msg)
|
27
|
+
end
|
28
|
+
|
29
|
+
def has_err_msg?
|
30
|
+
not_empty?(error_msg)
|
31
|
+
end
|
32
|
+
|
33
|
+
def has_warning_msg?
|
34
|
+
not_empty?(warning_msg)
|
35
|
+
end
|
36
|
+
|
37
|
+
def info_msg
|
38
|
+
if @_infoMsg.nil?
|
39
|
+
@_infoMsg = []
|
40
|
+
end
|
41
|
+
@_infoMsg
|
42
|
+
end
|
43
|
+
|
44
|
+
def error_msg
|
45
|
+
if @_errMsg.nil?
|
46
|
+
@_errMsg = []
|
47
|
+
end
|
48
|
+
@_errMsg
|
49
|
+
end
|
50
|
+
|
51
|
+
def warning_msg
|
52
|
+
if @_warnMsg.nil?
|
53
|
+
@_warnMsg = []
|
54
|
+
end
|
55
|
+
@_warnMsg
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
data/lib/gity/git_log.rb
CHANGED
data/lib/gity/landing.rb
CHANGED
@@ -28,6 +28,8 @@ module Gity
|
|
28
28
|
print_header
|
29
29
|
_prmt.puts
|
30
30
|
res = print_overview(@ws, opts) do |ws, files, optts|
|
31
|
+
_prmt.puts
|
32
|
+
process_flash
|
31
33
|
_prmt.puts
|
32
34
|
prompt_operation(ws, files, optts, &block)
|
33
35
|
end
|
@@ -40,5 +42,27 @@ module Gity
|
|
40
42
|
|
41
43
|
end
|
42
44
|
|
45
|
+
def process_flash
|
46
|
+
if Flash.instance.has_messages?
|
47
|
+
if Flash.instance.has_info_msg?
|
48
|
+
while Flash.instance.has_info_msg?
|
49
|
+
_prmt.puts _fmt Flash.instance.info_msg.pop, :magenta
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if Flash.instance.has_err_msg?
|
54
|
+
while Flash.instance.has_err_msg?
|
55
|
+
_prmt.puts _fmt Flash.instance.err_msg.pop, :red
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
if Flash.instance.has_warning_msg?
|
60
|
+
while Flash.instance.has_warning_msg?
|
61
|
+
_prmt.puts _fmt Flash.instance.warning_msg.pop, :bright_yellow
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
43
67
|
end
|
44
68
|
end
|
@@ -3,10 +3,13 @@ require_relative '../common'
|
|
3
3
|
|
4
4
|
require_relative '../overview'
|
5
5
|
|
6
|
+
require_relative '../status'
|
7
|
+
|
6
8
|
module Gity
|
7
9
|
module Operation
|
8
10
|
module Commit
|
9
11
|
include Common
|
12
|
+
include Status
|
10
13
|
|
11
14
|
def commit(ws, files, &block)
|
12
15
|
|
@@ -22,8 +25,14 @@ module Gity
|
|
22
25
|
efiles.sort.each do |f|
|
23
26
|
m.choice f,f.path
|
24
27
|
end
|
28
|
+
|
29
|
+
# allow to exit without selecting any files
|
30
|
+
m.choice "Done", :done
|
25
31
|
end
|
26
32
|
|
33
|
+
sels.delete(:done)
|
34
|
+
|
35
|
+
# possible no files available to be add to staging as all files already in staging
|
27
36
|
if not_empty?(sels)
|
28
37
|
block.call(:before_add_to_staging, sels) if block
|
29
38
|
st, res = ws.add_to_staging(*sels)
|
@@ -31,29 +40,36 @@ module Gity
|
|
31
40
|
raise OperationError, "Adding files to staging failed with error #{res}" if not st
|
32
41
|
end
|
33
42
|
|
34
|
-
|
35
|
-
|
43
|
+
st = status(ws)
|
44
|
+
if st.has_staged?
|
45
|
+
|
46
|
+
_cls
|
47
|
+
print_overview(ws, skip_other_files: true) do |ws, files, opts|
|
36
48
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
49
|
+
msg = ""
|
50
|
+
loop do
|
51
|
+
msg = _prmt.ask(_fmt("\n Commit message (Ctrl-c to go back) : "), required: true)
|
52
|
+
confirm = _prmt.yes?(_fmt(" Commit message : #{msg}\n Proceed? No to provide a new commit message "))
|
53
|
+
if confirm
|
54
|
+
break
|
55
|
+
end
|
43
56
|
end
|
44
|
-
end
|
45
57
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
58
|
+
oldMsg = msg.clone
|
59
|
+
msg = block.call(:before_commit_message, msg) if block
|
60
|
+
_logger.debug "Commit message changed by listener. Old '#{oldMsg}' / New '#{msg}' "
|
61
|
+
st, res = ws.commit(msg)
|
62
|
+
block.call(:after_commit_message, st, res) if block
|
63
|
+
raise OperationError, "Commit all failed with error : #{res}" if not st
|
64
|
+
|
65
|
+
end
|
52
66
|
|
67
|
+
else
|
68
|
+
_flash.add_info "No staged file(s) to be committed"
|
53
69
|
end
|
54
70
|
|
55
71
|
rescue TTY::Reader::InputInterrupt
|
56
|
-
|
72
|
+
_flash.add_info "Commit aborted"
|
57
73
|
end
|
58
74
|
|
59
75
|
end
|
data/lib/gity/operation.rb
CHANGED
@@ -31,7 +31,7 @@ module Gity
|
|
31
31
|
when :commit_all
|
32
32
|
selOpts["Commit all"] = o if files.has_staged? or files.has_modified? or files.has_deleted?
|
33
33
|
when :commit
|
34
|
-
selOpts["Commit
|
34
|
+
selOpts["Commit"] = o if files.has_staged? or files.has_new? or files.has_modified?
|
35
35
|
when :add
|
36
36
|
selOpts["Add"] = o if files.has_new?
|
37
37
|
when :ignore
|
data/lib/gity/overview.rb
CHANGED
@@ -24,10 +24,13 @@ module Gity
|
|
24
24
|
def print_workspace_items(ws, itm, opts = {})
|
25
25
|
|
26
26
|
opts = {} if opts.nil?
|
27
|
+
_prmt.puts _fmt "Workspace path : #{ws.workspace_root}", :bright_yellow
|
28
|
+
_prmt.puts
|
27
29
|
title = opts[:title] || "Workspace Status : "
|
28
30
|
_prmt.puts _fmt title
|
29
31
|
branch = ws.current_branch
|
30
32
|
_prmt.puts _fmt "Branch : #{branch}" if not_empty?(branch)
|
33
|
+
_prmt.puts
|
31
34
|
|
32
35
|
mfiles = itm
|
33
36
|
|
@@ -75,8 +78,8 @@ module Gity
|
|
75
78
|
en = GitLogParser.new(logs)
|
76
79
|
_prmt.puts _fmt "Last 3 last commit : "
|
77
80
|
en.entries.each do |e|
|
78
|
-
_prmt.puts _fmt "#{e.commit_by}
|
79
|
-
_prmt.puts _fmt "**** ****"
|
81
|
+
_prmt.puts _fmt "#{e.commit_by} @ #{e.timestamp}\n\n #{e.commit_notes}"
|
82
|
+
_prmt.puts _fmt "\n**** ****"
|
80
83
|
end
|
81
84
|
_prmt.puts
|
82
85
|
true
|
data/lib/gity/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toolrack
|
@@ -122,6 +122,7 @@ files:
|
|
122
122
|
- exe/gity
|
123
123
|
- lib/gity.rb
|
124
124
|
- lib/gity/common.rb
|
125
|
+
- lib/gity/flash.rb
|
125
126
|
- lib/gity/git_log.rb
|
126
127
|
- lib/gity/landing.rb
|
127
128
|
- lib/gity/operation.rb
|