gity 0.1.0 → 0.1.1
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/lib/gity/common.rb +9 -0
- data/lib/gity/landing.rb +12 -9
- data/lib/gity/operation/add.rb +3 -1
- data/lib/gity/operation/commit.rb +7 -1
- data/lib/gity/operation/commit_all.rb +5 -1
- data/lib/gity/operation/delete.rb +7 -1
- data/lib/gity/operation/ignore.rb +3 -1
- data/lib/gity/operation/remove_staged.rb +3 -1
- data/lib/gity/operation.rb +12 -9
- data/lib/gity/version.rb +1 -1
- data/lib/gity.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ad3e13e041d3318b74c725c85b3e54ba508e8137339e3f2ca2ef1510360363d
|
4
|
+
data.tar.gz: 7bc3e2fd3dc5a4b62e32cdb3c5a8f83cf63a225b7516a38c84de7d9d934c85c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3573cbd151944bc04fc435929f59ac27d165016122fe03a38ef3318299a96fe0ca164a17aaa8eea96e6de45c700765fa14f41ec353e350c668deedb2610577e
|
7
|
+
data.tar.gz: 47ada26af980984dac10826dcac61bf5b310d8a02ca6c0f4df595fce432467e99b95016c42d06c04d205dd33f058e1af731fc2510cc1d2d65ab9bd6f7758bc5a
|
data/lib/gity/common.rb
CHANGED
data/lib/gity/landing.rb
CHANGED
@@ -13,7 +13,7 @@ module Gity
|
|
13
13
|
include Operation
|
14
14
|
include Common
|
15
15
|
|
16
|
-
def run(root, opts = {})
|
16
|
+
def run(root, opts = {}, &block)
|
17
17
|
|
18
18
|
@ws = GitCli::Workspace.new(root)
|
19
19
|
raise Error, "Given path '#{root}' is not a workspace" if not @ws.is_workspace?
|
@@ -21,18 +21,21 @@ module Gity
|
|
21
21
|
opts = {} if opts.nil?
|
22
22
|
opts[:loop] = true if is_empty?(opts[:loop])
|
23
23
|
|
24
|
-
|
24
|
+
begin
|
25
|
+
loop do
|
25
26
|
|
26
|
-
|
27
|
-
|
28
|
-
_prmt.puts
|
29
|
-
res = print_overview(@ws, opts) do |ws, files, optts|
|
27
|
+
_cls
|
28
|
+
print_header
|
30
29
|
_prmt.puts
|
31
|
-
|
32
|
-
|
30
|
+
res = print_overview(@ws, opts) do |ws, files, optts|
|
31
|
+
_prmt.puts
|
32
|
+
prompt_operation(ws, files, optts, &block)
|
33
|
+
end
|
33
34
|
|
34
35
|
|
35
|
-
|
36
|
+
break if not opts[:loop] or res.clean?
|
37
|
+
end
|
38
|
+
rescue OperationCompleted
|
36
39
|
end
|
37
40
|
|
38
41
|
end
|
data/lib/gity/operation/add.rb
CHANGED
@@ -5,7 +5,7 @@ module Gity
|
|
5
5
|
module Add
|
6
6
|
include Common
|
7
7
|
|
8
|
-
def add(ws, files)
|
8
|
+
def add(ws, files, &block)
|
9
9
|
_cls
|
10
10
|
print_header
|
11
11
|
_prmt.puts
|
@@ -21,7 +21,9 @@ module Gity
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
+
block.call(:before_add_to_staging, sels) if block
|
24
25
|
st, res = ws.add_to_staging(*sels)
|
26
|
+
block.call(:after_add_to_staging, st, res) if block
|
25
27
|
raise OperationError, "Add to staging failed with error : #{res}" if not st
|
26
28
|
|
27
29
|
rescue TTY::Reader::InputInterrupt
|
@@ -8,7 +8,7 @@ module Gity
|
|
8
8
|
module Commit
|
9
9
|
include Common
|
10
10
|
|
11
|
-
def commit(ws, files)
|
11
|
+
def commit(ws, files, &block)
|
12
12
|
|
13
13
|
_cls
|
14
14
|
print_header
|
@@ -25,7 +25,9 @@ module Gity
|
|
25
25
|
end
|
26
26
|
|
27
27
|
if not_empty?(sels)
|
28
|
+
block.call(:before_add_to_staging, sels) if block
|
28
29
|
st, res = ws.add_to_staging(*sels)
|
30
|
+
block.call(:after_add_to_staging, st, res) if block
|
29
31
|
raise OperationError, "Adding files to staging failed with error #{res}" if not st
|
30
32
|
end
|
31
33
|
|
@@ -41,7 +43,11 @@ module Gity
|
|
41
43
|
end
|
42
44
|
end
|
43
45
|
|
46
|
+
oldMsg = msg.clone
|
47
|
+
msg = block.call(:before_commit_message, msg) if block
|
48
|
+
_logger.debug "Commit message changed by listener. Old '#{oldMsg}' / New '#{msg}' "
|
44
49
|
st, res = ws.commit(msg)
|
50
|
+
block.call(:after_commit_message, st, res) if block
|
45
51
|
raise OperationError, "Commit all failed with error : #{res}" if not st
|
46
52
|
|
47
53
|
end
|
@@ -6,7 +6,7 @@ module Gity
|
|
6
6
|
module CommitAll
|
7
7
|
include Common
|
8
8
|
|
9
|
-
def commit_all(ws, files)
|
9
|
+
def commit_all(ws, files, &block)
|
10
10
|
_prmt.puts _fmt("Files eligible to be committed : ")
|
11
11
|
[:staged, :modified, :deleted].each do |cat|
|
12
12
|
files.send(cat).each do |k,v|
|
@@ -26,7 +26,11 @@ module Gity
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
+
oldMsg = msg.clone
|
30
|
+
msg = block.call(:before_commit_all_message, msg) if block
|
31
|
+
_logger.debug "Commit all message changed by listener. Old '#{oldMsg}' / New '#{msg}' "
|
29
32
|
st, res = ws.commit_all(msg)
|
33
|
+
block.call(:after_commit_all_message, st, res) if block
|
30
34
|
raise OperationError, "Commit all failed with error : #{res}" if not st
|
31
35
|
rescue TTY::Reader::InputInterrupt
|
32
36
|
_prmt.puts _fmt "Commit all aborted"
|
@@ -5,7 +5,7 @@ module Gity
|
|
5
5
|
module Delete
|
6
6
|
include Common
|
7
7
|
|
8
|
-
def delete(ws, files)
|
8
|
+
def delete(ws, files, &block)
|
9
9
|
_cls
|
10
10
|
print_header
|
11
11
|
_prmt.puts
|
@@ -25,19 +25,25 @@ module Gity
|
|
25
25
|
if s.is_a?(GitCli::Delta::NewFile)
|
26
26
|
skip = _prmt.no? _fmt "Proceed to delete regular file '#{s}'? "
|
27
27
|
if not skip
|
28
|
+
block.call(:before_delete_new_file, s) if block
|
28
29
|
FileUtils.rm(s.path)
|
30
|
+
block.call(:after_delete_new_file, s) if block
|
29
31
|
end
|
30
32
|
|
31
33
|
elsif s.is_a?(GitCli::Delta::ModifiedFile)
|
32
34
|
# not staged
|
33
35
|
skip = _prmt.no? _fmt "Proceed to delete modified file '#{s}'? "
|
34
36
|
if not skip
|
37
|
+
block.call(:before_delete_modified_file, s) if block
|
35
38
|
ws.remove_from_vcs(s.path)
|
39
|
+
block.call(:after_delete_modified_file, s) if block
|
36
40
|
end
|
37
41
|
elsif s.is_a?(GitCli::Delta::StagedFile)
|
38
42
|
skip = _prmt.no? "Proceed to delete staged file '#{s}'? "
|
39
43
|
if not skip
|
44
|
+
block.call(:before_delete_staged_file, s) if block
|
40
45
|
ws.remove_from_staging(s.path)
|
46
|
+
block.call(:after_delete_staged_file, s) if block
|
41
47
|
end
|
42
48
|
end
|
43
49
|
|
@@ -5,7 +5,7 @@ module Gity
|
|
5
5
|
module Ignore
|
6
6
|
include Common
|
7
7
|
|
8
|
-
def ignore(ws, files)
|
8
|
+
def ignore(ws, files, &block)
|
9
9
|
_cls
|
10
10
|
print_header
|
11
11
|
_prmt.puts
|
@@ -20,7 +20,9 @@ module Gity
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
block.call(:before_ignore_file, sels) if block
|
23
24
|
st, res = ws.ignore(*sels)
|
25
|
+
block.call(:after_ignore_file, sels) if block
|
24
26
|
raise OperationError, "Ignore operation failed with error : #{res}" if not st
|
25
27
|
rescue TTY::Reader::InputInterrupt
|
26
28
|
end
|
@@ -5,7 +5,7 @@ module Gity
|
|
5
5
|
module RemoveStaged
|
6
6
|
include Common
|
7
7
|
|
8
|
-
def remove_staged(ws, files)
|
8
|
+
def remove_staged(ws, files, &block)
|
9
9
|
_cls
|
10
10
|
print_header
|
11
11
|
_prmt.puts
|
@@ -19,7 +19,9 @@ module Gity
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
+
block.call(:before_remove_staged_file, sels) if block
|
22
23
|
st, res = ws.remove_from_staging(*sels)
|
24
|
+
block.call(:after_remove_staged_file, sels) if block
|
23
25
|
raise OperationError, "Remove from staging failed with error : #{res}" if not st
|
24
26
|
|
25
27
|
end
|
data/lib/gity/operation.rb
CHANGED
@@ -20,7 +20,7 @@ module Gity
|
|
20
20
|
include Diff
|
21
21
|
include Delete
|
22
22
|
|
23
|
-
def prompt_operation(ws, files, opts = {})
|
23
|
+
def prompt_operation(ws, files, opts = {}, &block)
|
24
24
|
|
25
25
|
opts = {} if opts.nil?
|
26
26
|
defOps = [:commit_all, :commit, :add, :ignore, :remove_staged, :diff, :delete]
|
@@ -58,27 +58,27 @@ module Gity
|
|
58
58
|
when :commit_all
|
59
59
|
_cls
|
60
60
|
_prmt.puts
|
61
|
-
commit_all(ws, files)
|
61
|
+
commit_all(ws, files, &block)
|
62
62
|
|
63
63
|
when :commit
|
64
64
|
_cls
|
65
65
|
_prmt.puts
|
66
|
-
commit(ws, files)
|
66
|
+
commit(ws, files, &block)
|
67
67
|
|
68
68
|
when :add
|
69
69
|
_cls
|
70
70
|
_prmt.puts
|
71
|
-
add(ws, files)
|
71
|
+
add(ws, files, &block)
|
72
72
|
|
73
73
|
when :ignore
|
74
74
|
_cls
|
75
75
|
_prmt.puts
|
76
|
-
ignore(ws, files)
|
76
|
+
ignore(ws, files, &block)
|
77
77
|
|
78
78
|
when :remove_staged
|
79
79
|
_cls
|
80
80
|
_prmt.puts
|
81
|
-
remove_staged(ws, files)
|
81
|
+
remove_staged(ws, files, &block)
|
82
82
|
|
83
83
|
when :diff
|
84
84
|
_cls
|
@@ -88,10 +88,13 @@ module Gity
|
|
88
88
|
when :delete
|
89
89
|
_cls
|
90
90
|
_prmt.puts
|
91
|
-
delete(ws, files)
|
91
|
+
delete(ws, files, &block)
|
92
92
|
|
93
93
|
when :quit
|
94
|
-
|
94
|
+
block.call(:before_quit) if block
|
95
|
+
_operation_done(opts[:no_exit])
|
96
|
+
# no_exit will reach here
|
97
|
+
block.call(:after_quit) if block
|
95
98
|
end
|
96
99
|
|
97
100
|
rescue TTY::Reader::InputInterrupt
|
@@ -99,7 +102,7 @@ module Gity
|
|
99
102
|
_prmt.puts
|
100
103
|
_prmt.puts _fmt "Operation aborted", :bright_yellow
|
101
104
|
_prmt.puts
|
102
|
-
|
105
|
+
_operation_done(opts[:no_exit])
|
103
106
|
end
|
104
107
|
|
105
108
|
end
|
data/lib/gity/version.rb
CHANGED
data/lib/gity.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.1
|
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-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toolrack
|