gvcsfx 0.5.2 → 0.6.4

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: 6369ef6276b5fe3056d998870df86a3e6287738bdd59c79e0c60f2085a82716a
4
- data.tar.gz: d9ea8e3ade3d700ea3111febd00b700e755e4f8e1966d9b1f08cb45d12304732
3
+ metadata.gz: 2f984429b6b074fd62c4713934e8190ed689e558b27e7940e2fb2123615d9fa5
4
+ data.tar.gz: 944311d718903fcdb54fbe0ce0dd4f4a023955a33d106306cbd6b78a1a1ec290
5
5
  SHA512:
6
- metadata.gz: 3961b8dbb580e43449bfce3137a4a1945fb24e9791109c95976a184dcef1517cb1e748ce29f69ec48ba0b96ed26985e28490f6c9e619b691e09f61dc91144107
7
- data.tar.gz: ee05aee7df0644b55f72b19f6191de68a12ea32d5ae055b82b42af9d2439ff84adca121e934cf4f38579a404a17dd20cd5b013186b6a995a6a42117e1c8086c2
6
+ metadata.gz: 5e6557ee9c91293fd1fec7a19a94d6f03fc59291d4647b06aa85ca1aa02e4e07be66799858251979c20ee76aad3f3fb8cfc970c0f1252dd557cf2ff96fba7185
7
+ data.tar.gz: 1ea67c3397e00acbdd5961e220c419c63c84e2471666854677305e86e5ff50590b461b3e8ec1ba2d8e24cb152d95ea6b0cf6fcc2a5491bafa88e8d3e1a9b468f
data/Gemfile CHANGED
@@ -18,6 +18,9 @@ source "https://rubygems.org"
18
18
 
19
19
  gemspec
20
20
 
21
+ #gem 'git_cli', path: '../git/git_cli'
22
+
23
+ #gem 'jrubyfx-openjfx.patch', path: '/mnt/Vault/08.Dev/01.Workspaces/jrubyfx_patches/jrubyfx'
21
24
  #gem 'tlogger', '~> 0.21'
22
25
  #gem 'jrubyfx'
23
26
  #gem 'toolrack', '~> 0.4'
data/bin/gvcsfx CHANGED
@@ -1,6 +1,6 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- require 'bundler'
3
+ #require 'bundler'
4
4
 
5
5
  if (RUBY_PLATFORM =~ /java/) == nil
6
6
  STDERR.puts "GvcsFX required JRuby to be installed. Please installed the JRuby and try again (switch to jruby first before run gvcsfx if you're using rvm)"
@@ -127,8 +127,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
127
127
  <GridPane layoutX="240.0" layoutY="115.0" maxWidth="1.7976931348623157E308" AnchorPane.bottomAnchor="8.0" AnchorPane.leftAnchor="8.0" AnchorPane.rightAnchor="8.0" AnchorPane.topAnchor="8.0">
128
128
  <columnConstraints>
129
129
  <ColumnConstraints hgrow="NEVER" maxWidth="215.0" />
130
- <ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="684.0" />
131
- <ColumnConstraints hgrow="SOMETIMES" maxWidth="501.0" minWidth="10.0" prefWidth="209.0" />
130
+ <ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="642.0" />
131
+ <ColumnConstraints hgrow="NEVER" maxWidth="288.0" minWidth="288.0" prefWidth="288.0" />
132
132
  </columnConstraints>
133
133
  <rowConstraints>
134
134
  <RowConstraints maxHeight="-Infinity" minHeight="-Infinity" prefHeight="28.0" vgrow="NEVER" />
@@ -153,10 +153,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
153
153
  <Insets bottom="5.0" top="5.0" />
154
154
  </GridPane.margin>
155
155
  </TableView>
156
- <ComboBox fx:id="cmbCommitMsg" editable="true" maxWidth="1.7976931348623157E308" onKeyTyped="#is_cmbCommit_enter" promptText="Commit message" GridPane.columnSpan="3" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3" />
157
- <Button fx:id="butCommit" defaultButton="true" maxWidth="80.0" minWidth="80.0" mnemonicParsing="false" onAction="#vcs_commit" prefWidth="80.0" text="Commit" GridPane.columnIndex="2" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
158
- <HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0" GridPane.columnIndex="2">
156
+ <ComboBox fx:id="cmbCommitMsg" editable="true" maxWidth="1.7976931348623157E308" onKeyPressed="#is_cmbCommit_enter" promptText="Commit message" GridPane.columnSpan="3" GridPane.hgrow="ALWAYS" GridPane.rowIndex="3" />
157
+ <Button fx:id="butCommit" maxWidth="80.0" minWidth="80.0" mnemonicParsing="false" onAction="#vcs_commit" prefWidth="80.0" text="Commit" GridPane.columnIndex="2" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
158
+ <HBox alignment="CENTER_RIGHT" prefHeight="28.0" prefWidth="332.0" GridPane.columnIndex="2">
159
159
  <children>
160
+ <TextField fx:id="txtStateFileNmFilter" alignment="CENTER" onKeyPressed="#name_filter_keypressed" promptText="File name filter" HBox.hgrow="ALWAYS">
161
+ <HBox.margin>
162
+ <Insets left="3.0" right="3.0" />
163
+ </HBox.margin>
164
+ </TextField>
160
165
  <Button fx:id="butRefreshChanges" alignment="CENTER" maxWidth="80.0" minWidth="80.0" mnemonicParsing="false" onAction="#refresh_vcs_status" prefWidth="80.0" text="Refresh">
161
166
  <HBox.margin>
162
167
  <Insets />
@@ -457,7 +462,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
457
462
  <RowConstraints minHeight="10.0" prefHeight="38.0" vgrow="SOMETIMES" />
458
463
  </rowConstraints>
459
464
  <children>
460
- <TitledPane collapsible="false" maxHeight="1.7976931348623157E308" minHeight="-Infinity" text="Configurations" GridPane.columnSpan="2" GridPane.hgrow="ALWAYS" GridPane.vgrow="ALWAYS">
465
+ <TitledPane collapsible="false" maxHeight="1.7976931348623157E308" text="Configurations" GridPane.columnSpan="2" GridPane.hgrow="ALWAYS" GridPane.vgrow="ALWAYS">
461
466
  <content>
462
467
  <TabPane tabMinWidth="80.0">
463
468
  <tabs>
@@ -27,12 +27,14 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = "gvcsfx"
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency 'tlogger', '>= 0.21'
30
+ spec.add_dependency 'bundler', '~> 2.2.4'
31
+
32
+ spec.add_dependency 'tlogger' #, '>= 0.21'
31
33
  spec.add_dependency 'jrubyfx-openjfx.patch', '1.2.0.1'
32
- spec.add_dependency 'toolrack', '~> 0.4'
33
- spec.add_dependency 'gvcs', '~> 0.1.0'
34
- spec.add_dependency 'git_cli', '~> 0.6.0'
34
+ spec.add_dependency 'toolrack' #, '>= 0.5.0'
35
+ spec.add_dependency 'gvcs' #, '>= 0.1.0'
36
+ spec.add_dependency 'git_cli', '>= 0.8.0'
35
37
 
36
- spec.add_development_dependency 'devops_helper', '~> 0.2.0'
38
+ spec.add_development_dependency 'devops_helper' #, '>= 0.3.1'
37
39
 
38
40
  end
@@ -33,28 +33,33 @@ module GvcsFx
33
33
  end
34
34
  class ModifiedFile < VcsElement
35
35
  def initialize(path, ftype)
36
- super("M",path, ftype)
36
+ super("Changed",path, ftype)
37
37
  end
38
38
  end
39
39
  class ConflictedFile < VcsElement
40
40
  def initialize(path, ftype)
41
- super("C",path, ftype)
41
+ super("Conflicted",path, ftype)
42
42
  end
43
43
  end
44
44
  class NewFile < VcsElement
45
45
  def initialize(path, ftype)
46
- super("N",path, ftype)
46
+ super("New",path, ftype)
47
47
  end
48
48
  end
49
49
  class DeletedFile < VcsElement
50
50
  def initialize(path, ftype)
51
- super("D",path, ftype)
51
+ super("Deleted",path, ftype)
52
+ end
53
+ end
54
+ class StagedFile < VcsElement
55
+ def initialize(path, ftype)
56
+ super("Staged",path, ftype)
52
57
  end
53
58
  end
54
59
  #############
55
60
 
56
61
  def init_tab_state
57
- @tblChanges.placeholder = javafx.scene.control.Label.new("Changeset is empty. Please select a workspace or the selected workspace has no changes ")
62
+ @tblChanges.placeholder = javafx.scene.control.Label.new("Changeset is empty. Please select a workspace, the selected workspace has no changes or changes have been filtered out.")
58
63
 
59
64
  @tblChanges.columns.clear
60
65
  @tblChanges.column_resize_policy = javafx.scene.control.TableView::CONSTRAINED_RESIZE_POLICY
@@ -116,15 +121,20 @@ module GvcsFx
116
121
  # hooked to but Commit on action
117
122
  def vcs_commit(evt)
118
123
  sel = @tblChanges.selection_model.selected_items
119
- msg = @cmbCommitMsg.value
124
+ # for editable combobox, value comes AFTER the enter key is pressed.
125
+ # But this might have empty value since it is processed BEFORE enter key is detected
126
+ # by the underlying system
127
+ #msg = @cmbCommitMsg.value
128
+ msg = @cmbCommitMsg.editor.text
120
129
  if sel.length == 0
121
130
  fx_alert_error "Cannot commit on empty changes selection. Please select at least a file from the table above.", "No Files Selected", main_stage
122
131
  elsif (msg.nil? or msg.empty?)
123
132
  fx_alert_error "Commit message must be present.", "Empty Commit Message", main_stage
124
133
  else
125
134
  commit_changes(sel, msg)
135
+ # apparently the combobox has its own history
126
136
  if not @msgHistory.include?(msg)
127
- @cmbCommitMsg.items.add(msg)
137
+ #@cmbCommitMsg.items.add(msg)
128
138
  @msgHistory << msg
129
139
  end
130
140
  refresh_tab_state
@@ -140,11 +150,32 @@ module GvcsFx
140
150
  cst, cflt_dirs, cflt_files = @selWs.conflicted_files
141
151
  nst, news_dirs, news_files = @selWs.new_files
142
152
  dst, dels_dirs, dels_files = @selWs.deleted_files
153
+ sst, staged_dirs, staged_files = @selWs.staged_files
154
+
155
+ filter = @txtStateFileNmFilter.text
156
+
157
+ if not_empty?(filter)
158
+ mods_dirs.delete_if { |e| (e =~ /#{filter}/) == nil }
159
+ mods_files.delete_if { |e| (e =~ /#{filter}/) == nil }
160
+
161
+ cflt_dirs.delete_if { |e| (e =~ /#{filter}/) == nil }
162
+ cflt_files.delete_if { |e| (e =~ /#{filter}/) == nil }
163
+
164
+ news_dirs.delete_if { |e| (e =~ /#{filter}/) == nil }
165
+ news_files.delete_if { |e| (e =~ /#{filter}/) == nil }
166
+
167
+ dels_dirs.delete_if { |e| (e =~ /#{filter}/) == nil }
168
+ dels_files.delete_if { |e| (e =~ /#{filter}/) == nil }
169
+
170
+ staged_dirs.delete_if { |e| (e =~ /#{filter}/) == nil }
171
+ staged_files.delete_if { |e| (e =~ /#{filter}/) == nil }
172
+ end
143
173
 
144
174
  data = []
145
175
  mods_dirs.each do |f|
146
176
  data << ModifiedFile.new(f,:dir)
147
177
  end
178
+
148
179
  mods_files.each do |f|
149
180
  data << ModifiedFile.new(f,:file)
150
181
  end
@@ -162,6 +193,7 @@ module GvcsFx
162
193
  news_files.each do |f|
163
194
  data << NewFile.new(f,:file)
164
195
  end
196
+
165
197
  dels_dirs.each do |f|
166
198
  data << DeletedFile.new(f,:dir)
167
199
  end
@@ -169,6 +201,13 @@ module GvcsFx
169
201
  data << DeletedFile.new(f,:file)
170
202
  end
171
203
 
204
+ staged_dirs.each do |f|
205
+ data << StagedFile.new(f,:dir)
206
+ end
207
+ staged_files.each do |f|
208
+ data << StagedFile.new(f,:file)
209
+ end
210
+
172
211
  bst, currBranch = @selWs.current_branch
173
212
  if bst
174
213
  @lblCurrBranch.text = currBranch
@@ -187,6 +226,7 @@ module GvcsFx
187
226
  refresh_vcs_status(nil)
188
227
  @cmbCommitMsg.selection_model.clear_selection
189
228
  @cmbCommitMsg.value = nil
229
+ @cmbCommitMsg.editor.text = ""
190
230
  end
191
231
 
192
232
  # hooked to on_key_typed
@@ -196,17 +236,25 @@ module GvcsFx
196
236
  end
197
237
  end
198
238
 
239
+ def name_filter_keypressed(evt)
240
+ if (not evt.nil?) and evt.code == javafx.scene.input.KeyCode::ENTER
241
+ refresh_tab_state
242
+ end
243
+ end
244
+
199
245
  # hooked to the button "not ready to commit just yet..."
200
246
  def stash_changes(evt)
201
247
  mst, mods_dirs, mods_files = @selWs.modified_files
202
248
  cst, cflt_dirs, cflt_files = @selWs.conflicted_files
203
249
  nst, news_dirs, news_files = @selWs.new_files
204
250
  dst, dels_dirs, dels_files = @selWs.deleted_files
251
+ sst, staged_dirs, staged_files = @selWs.staged_files
205
252
 
206
253
  if mods_dirs.length > 0 or mods_files.length > 0 \
207
254
  or cflt_dirs.length > 0 or cflt_files.length > 0 \
208
255
  or news_dirs.length > 0 or news_files.length > 0 \
209
- or dels_dirs.length > 0 or dels_files.length > 0
256
+ or dels_dirs.length > 0 or dels_files.length > 0 \
257
+ or staged_dirs.length > 0 or staged_files.length > 0
210
258
 
211
259
  msg = []
212
260
  msg << "System detected there are existing uncommitted changes in the current workspace:\n"
@@ -218,6 +266,8 @@ module GvcsFx
218
266
  msg << "\tDeleted file(s) : \t\t#{dels_files.length}\n"
219
267
  msg << "\tNew folder(s) : \t\t#{news_dirs.length}\n"
220
268
  msg << "\tNew file(s) : \t\t\t#{news_files.length}\n"
269
+ msg << "\tStaged folder(s) : \t\t#{staged_dirs.length}\n"
270
+ msg << "\tStaged file(s) : \t\t\t#{staged_files.length}\n"
221
271
 
222
272
  st, name = fx_alert_input("Temporary Save Changes To Branch",msg.join, "Please give a descriptive name of this temporary changes.\nIt is recommended but not mandatory")
223
273
  if st
@@ -17,5 +17,5 @@
17
17
 
18
18
 
19
19
  module GvcsFx
20
- VERSION = "0.5.2"
20
+ VERSION = "0.6.4"
21
21
  end
metadata CHANGED
@@ -1,21 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gvcsfx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.6.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-07 00:00:00.000000000 Z
11
+ date: 2021-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: 2.2.4
19
+ name: bundler
20
+ prerelease: false
21
+ type: :runtime
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.2.4
13
27
  - !ruby/object:Gem::Dependency
14
28
  requirement: !ruby/object:Gem::Requirement
15
29
  requirements:
16
30
  - - ">="
17
31
  - !ruby/object:Gem::Version
18
- version: '0.21'
32
+ version: '0'
19
33
  name: tlogger
20
34
  prerelease: false
21
35
  type: :runtime
@@ -23,7 +37,7 @@ dependencies:
23
37
  requirements:
24
38
  - - ">="
25
39
  - !ruby/object:Gem::Version
26
- version: '0.21'
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  requirement: !ruby/object:Gem::Requirement
29
43
  requirements:
@@ -41,59 +55,59 @@ dependencies:
41
55
  - !ruby/object:Gem::Dependency
42
56
  requirement: !ruby/object:Gem::Requirement
43
57
  requirements:
44
- - - "~>"
58
+ - - ">="
45
59
  - !ruby/object:Gem::Version
46
- version: '0.4'
60
+ version: '0'
47
61
  name: toolrack
48
62
  prerelease: false
49
63
  type: :runtime
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '0.4'
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  requirement: !ruby/object:Gem::Requirement
57
71
  requirements:
58
- - - "~>"
72
+ - - ">="
59
73
  - !ruby/object:Gem::Version
60
- version: 0.1.0
74
+ version: '0'
61
75
  name: gvcs
62
76
  prerelease: false
63
77
  type: :runtime
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: 0.1.0
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  requirement: !ruby/object:Gem::Requirement
71
85
  requirements:
72
- - - "~>"
86
+ - - ">="
73
87
  - !ruby/object:Gem::Version
74
- version: 0.6.0
88
+ version: 0.8.0
75
89
  name: git_cli
76
90
  prerelease: false
77
91
  type: :runtime
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: 0.6.0
96
+ version: 0.8.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  requirement: !ruby/object:Gem::Requirement
85
99
  requirements:
86
- - - "~>"
100
+ - - ">="
87
101
  - !ruby/object:Gem::Version
88
- version: 0.2.0
102
+ version: '0'
89
103
  name: devops_helper
90
104
  prerelease: false
91
105
  type: :development
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "~>"
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
- version: 0.2.0
110
+ version: '0'
97
111
  description: Simple and effective VCS workflow management
98
112
  email:
99
113
  - chrisliaw@antrapol.com