gitonic 0.0.13__tar.gz → 0.0.14__tar.gz
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.
- {gitonic-0.0.13 → gitonic-0.0.14}/BACKLOG.md +3 -1
- {gitonic-0.0.13 → gitonic-0.0.14}/CHANGELOG.md +19 -2
- {gitonic-0.0.13 → gitonic-0.0.14}/PKG-INFO +205 -13
- {gitonic-0.0.13 → gitonic-0.0.14}/README.md +182 -9
- gitonic-0.0.14/gitonic/const.py +1 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/gui.py +196 -12
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/task.py +3 -1
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/tile/__init__.py +1 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/tile/core.py +83 -9
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/PKG-INFO +205 -13
- gitonic-0.0.13/gitonic/const.py +0 -1
- {gitonic-0.0.13 → gitonic-0.0.14}/LICENSE.md +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/MANIFEST.in +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/__init__.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/__main__.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/file.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/gitutil.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/icons.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/main.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/pyjsoncfg.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/singleinstance.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/sysutil.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic/tile/tkcmd.py +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/SOURCES.txt +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/dependency_links.txt +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/entry_points.txt +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/requires.txt +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/gitonic.egg-info/top_level.txt +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/pyproject.toml +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/setup.cfg +0 -0
- {gitonic-0.0.13 → gitonic-0.0.14}/setup.py +0 -0
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
- adding single files
|
|
64
64
|
- open .gitignore for editing
|
|
65
65
|
- execute git operations in parallel where possible
|
|
66
|
+
- make expert mode debugging out better (use python logging)
|
|
66
67
|
-
|
|
67
68
|
|
|
68
69
|
|
|
@@ -86,6 +87,7 @@ refer to [issues](https://github.com/kr-g/gitonic/issues)
|
|
|
86
87
|
- `gitonic` interacts with `git` just like starting in bash / commandline.
|
|
87
88
|
at the present time there is _no_additional_ error checking.
|
|
88
89
|
this must be done by checking the log tab manually where all cmdline output goes.
|
|
89
|
-
|
|
90
|
+
- at the present time the context menu only works on the underlying file (row) in the table.
|
|
91
|
+
there is no support for multiple files (selection) as of now.
|
|
90
92
|
|
|
91
93
|
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
# Changelog
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# version v0.0.14 - 20240518
|
|
6
|
+
|
|
7
|
+
- improved formatter
|
|
8
|
+
- support for multiple file extension for single config entry
|
|
9
|
+
- support for path expansion for formatter config
|
|
10
|
+
- added sample for uncrustify (c, c++)
|
|
11
|
+
- on "changes" tab
|
|
12
|
+
- added context menu to open file system explorer
|
|
13
|
+
- added support for custom context menu with `~/.gitonic/context.json`
|
|
14
|
+
- calling merge-tool with more then more file selected on change tab will
|
|
15
|
+
not block the user-interface anymore since starting independent from main process
|
|
16
|
+
- **important** add `--newtab` to `meld` configuration in `.gitconfig`
|
|
17
|
+
to re-use an already running instance of `meld`
|
|
18
|
+
- context menu handler expands user path (`~`)
|
|
19
|
+
-
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# version v0.0.13 - 20231125
|
|
6
23
|
|
|
7
24
|
- show all untracked files on changes tab (not only the folder)
|
|
8
25
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: gitonic
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: manage a multi git workspace
|
|
5
5
|
Home-page: https://github.com/kr-g/gitonic
|
|
6
6
|
Author: k. goger
|
|
@@ -29,7 +29,7 @@ License-File: LICENSE.md
|
|
|
29
29
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
you are reading VERSION = v0.0.
|
|
32
|
+
you are reading VERSION = v0.0.14
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
# gitonic
|
|
@@ -39,9 +39,6 @@ gitonic simplifies working with multiple git repositories.
|
|
|
39
39
|
|
|
40
40
|
gitonic comes with an easy to use Tkinter GUI.
|
|
41
41
|
|
|
42
|
-
there is also a plugin for thonny
|
|
43
|
-
[`thonny-gitonic`](https://github.com/kr-g/thonny-gitonic)
|
|
44
|
-
|
|
45
42
|
|
|
46
43
|
# background
|
|
47
44
|
|
|
@@ -160,7 +157,11 @@ the general structure is:
|
|
|
160
157
|
}
|
|
161
158
|
}
|
|
162
159
|
|
|
163
|
-
|
|
160
|
+
where `.file-ext` is a simple file extension such as `.py`,
|
|
161
|
+
or a comma separated list of extensions `.c,.h,.cpp`.
|
|
162
|
+
wild-cards are not supported.
|
|
163
|
+
|
|
164
|
+
where `para` is an array of cmd-line options passed to the formatter command
|
|
164
165
|
where `%file` is a placeholder and replaced by the file name
|
|
165
166
|
|
|
166
167
|
for different file extensions `gitonic` will call the formatter accordingly
|
|
@@ -191,6 +192,20 @@ pycodestyle is an official tool from python's code quality authority.
|
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
194
|
|
|
195
|
+
to use the same code formatter also for
|
|
196
|
+
[`cython's`](https://github.com/cython/cython)
|
|
197
|
+
files with extension `.pyx` change the setting to
|
|
198
|
+
|
|
199
|
+
{
|
|
200
|
+
".py,.pyx": {
|
|
201
|
+
"cmd": "autopep8",
|
|
202
|
+
"para": [
|
|
203
|
+
"-i",
|
|
204
|
+
"%file"
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
194
209
|
|
|
195
210
|
### black
|
|
196
211
|
|
|
@@ -225,6 +240,163 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
225
240
|
}
|
|
226
241
|
|
|
227
242
|
|
|
243
|
+
## templates for c, c++ formatters
|
|
244
|
+
|
|
245
|
+
all of the following tools are NOT part of `gitonic` standard installation.
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
### uncrustify
|
|
249
|
+
|
|
250
|
+
[`uncrustify`](https://github.com/uncrustify/uncrustify)
|
|
251
|
+
is a code formatter for c, c++ (and other languages).
|
|
252
|
+
|
|
253
|
+
here in this config sample it is configured for extensions `.c`, `.h`, and `.cpp`.
|
|
254
|
+
|
|
255
|
+
IMPORTANT: `uncrustify` requires an additional config file, a sample can be found here
|
|
256
|
+
[`uncrustify.cfg`](https://github.com/uncrustify/uncrustify/blob/master/forUncrustifySources.cfg)
|
|
257
|
+
|
|
258
|
+
here in the sample the `uncrustify` config file is placed in path `~/.gitonic/uncrustify.cfg`.
|
|
259
|
+
make sure that it is there.
|
|
260
|
+
|
|
261
|
+
the following needs to be placed inside `~/.gitonic/formatter.json`
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
".c,.h,.cpp": {
|
|
265
|
+
"cmd": "uncrustify",
|
|
266
|
+
"para": [
|
|
267
|
+
"-c",
|
|
268
|
+
"~/.gitonic/uncrustify.cfg",
|
|
269
|
+
"--replace",
|
|
270
|
+
"%file",
|
|
271
|
+
"--no-backup",
|
|
272
|
+
"--if-changed"
|
|
273
|
+
]
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
# custom context menu handler
|
|
278
|
+
|
|
279
|
+
when clicking on the `changes` tab right a context memu opens offering
|
|
280
|
+
to open the system file manager tool (file explorer)
|
|
281
|
+
at the base git repo path or at the changed file path.
|
|
282
|
+
|
|
283
|
+
in addition it is possible to add own custom context menu entries here.
|
|
284
|
+
configuration is done with `~/.gitonic/context.json` file.
|
|
285
|
+
|
|
286
|
+
the general structure is:
|
|
287
|
+
|
|
288
|
+
{
|
|
289
|
+
"a-context-name-ctx": {
|
|
290
|
+
"expr": "*",
|
|
291
|
+
"menu": [
|
|
292
|
+
[
|
|
293
|
+
"some text $GIT",
|
|
294
|
+
[
|
|
295
|
+
"cmd-path",
|
|
296
|
+
"whatever_param=$GIT"
|
|
297
|
+
]
|
|
298
|
+
],
|
|
299
|
+
[
|
|
300
|
+
"some other text $PATH",
|
|
301
|
+
[
|
|
302
|
+
"cmd-path2",
|
|
303
|
+
"whatever_param=$PATH"
|
|
304
|
+
]
|
|
305
|
+
]
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
...
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
here the variables `$GIT`, `$PATH`, or `$FILE` are replaced
|
|
313
|
+
by the corrosponding path before execution.
|
|
314
|
+
|
|
315
|
+
the `expr` key contains a single file pattern, or a list of
|
|
316
|
+
file patterns - when to enable the context menu.
|
|
317
|
+
the file pattern is following Unix filename pattern matching.
|
|
318
|
+
|
|
319
|
+
the `menu` array contains the text to display in the menu,
|
|
320
|
+
and the command params as embedded array.
|
|
321
|
+
|
|
322
|
+
the context name as such can have any value
|
|
323
|
+
(as long it is unique in the structure).
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
below a sample `~/.gitonic/context.json` file
|
|
327
|
+
for running on linux with xfce.
|
|
328
|
+
|
|
329
|
+
{
|
|
330
|
+
"term-ctx": {
|
|
331
|
+
"expr": "*",
|
|
332
|
+
"menu": [
|
|
333
|
+
[
|
|
334
|
+
"Open Terminal at $GIT",
|
|
335
|
+
[
|
|
336
|
+
"xfce4-terminal",
|
|
337
|
+
"--working-directory=$GIT"
|
|
338
|
+
]
|
|
339
|
+
],
|
|
340
|
+
[
|
|
341
|
+
"Open Terminal at $PATH",
|
|
342
|
+
[
|
|
343
|
+
"xfce4-terminal",
|
|
344
|
+
"--working-directory=$PATH"
|
|
345
|
+
]
|
|
346
|
+
],
|
|
347
|
+
[
|
|
348
|
+
"Edit .gitignore at $GIT",
|
|
349
|
+
[
|
|
350
|
+
"xed",
|
|
351
|
+
"$GIT/.gitignore"
|
|
352
|
+
]
|
|
353
|
+
]
|
|
354
|
+
]
|
|
355
|
+
},
|
|
356
|
+
"spyder-ctx": {
|
|
357
|
+
"expr": "*.py",
|
|
358
|
+
"menu": [
|
|
359
|
+
[
|
|
360
|
+
"spyder python $FILE",
|
|
361
|
+
[
|
|
362
|
+
"~/spyder/.venv/bin/spyder",
|
|
363
|
+
"$FILE"
|
|
364
|
+
]
|
|
365
|
+
]
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
"geany-ctx": {
|
|
369
|
+
"expr": [
|
|
370
|
+
"*.c",
|
|
371
|
+
"*.cpp",
|
|
372
|
+
"*.h"
|
|
373
|
+
],
|
|
374
|
+
"menu": [
|
|
375
|
+
[
|
|
376
|
+
"geany c $FILE",
|
|
377
|
+
[
|
|
378
|
+
"geany",
|
|
379
|
+
"$FILE"
|
|
380
|
+
]
|
|
381
|
+
]
|
|
382
|
+
]
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
remark:
|
|
388
|
+
the sample config file provides support for opening
|
|
389
|
+
- terminal, in this case `xfce4-terminal`, can be replaced by e.g. `xterm` - depending on your distribution
|
|
390
|
+
- `.gitignore` file for selected repo with [`xed`](https://en.wikipedia.org/wiki/Xed)
|
|
391
|
+
- [`spyder-ide.org`](https://spyder-ide.org/), for files matching `*.py`
|
|
392
|
+
- [`geany`](https://www.geany.org/), for files matching `*.c`, `*.cpp`, `*.h`
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
**limitation:**
|
|
396
|
+
|
|
397
|
+
at the present time the context menu only works on the underlying file (row) in the table.
|
|
398
|
+
there is **no** support for multiple files (selection) as of now.
|
|
399
|
+
|
|
228
400
|
|
|
229
401
|
|
|
230
402
|
# platform
|
|
@@ -319,7 +491,7 @@ when during startup an error is thrown, refer to
|
|
|
319
491
|
# git configuration
|
|
320
492
|
|
|
321
493
|
add a `.git-credentials` file as described here
|
|
322
|
-
[`git-credentials`](https://git-scm.com/docs/git-credential-store
|
|
494
|
+
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
323
495
|
|
|
324
496
|
|
|
325
497
|
add a `.gitconfig` file as described here
|
|
@@ -342,14 +514,14 @@ if meld is not installed pressing the button will have no effect.
|
|
|
342
514
|
[difftool]
|
|
343
515
|
prompt = false
|
|
344
516
|
[difftool "meld"]
|
|
345
|
-
cmd = meld "$LOCAL" "$REMOTE"
|
|
517
|
+
cmd = meld --newtab "$LOCAL" "$REMOTE"
|
|
346
518
|
|
|
347
519
|
[merge]
|
|
348
520
|
tool = meld
|
|
349
521
|
[mergetool "meld"]
|
|
350
522
|
# Choose one of these 2 lines (not both!)
|
|
351
523
|
# cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
|
352
|
-
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
|
524
|
+
cmd = meld --newtab "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
|
353
525
|
|
|
354
526
|
|
|
355
527
|
# additional notes
|
|
@@ -371,9 +543,10 @@ following files are used:
|
|
|
371
543
|
|file|description|
|
|
372
544
|
|---|---|
|
|
373
545
|
|~/.gitonic/commit.json|the last commit messages show in the combo box|
|
|
374
|
-
|~/.gitonic/tracked.json|tracked git repositories|
|
|
375
546
|
|~/.gitonic/config.json|configuration settings|
|
|
547
|
+
|~/.gitonic/context.json|configuration for context menu on changes tab|
|
|
376
548
|
|~/.gitonic/formatter.json|configuration for external formatter tools|
|
|
549
|
+
|~/.gitonic/tracked.json|tracked git repositories|
|
|
377
550
|
|~/.gitonic/socket|internal use|
|
|
378
551
|
|
|
379
552
|
|
|
@@ -389,11 +562,28 @@ gitonic is released under the following
|
|
|
389
562
|
|
|
390
563
|
|
|
391
564
|
|
|
392
|
-
|
|
565
|
+
|
|
393
566
|
# Changelog
|
|
394
567
|
|
|
395
568
|
|
|
396
|
-
#
|
|
569
|
+
# version v0.0.14 - 20240518
|
|
570
|
+
|
|
571
|
+
- improved formatter
|
|
572
|
+
- support for multiple file extension for single config entry
|
|
573
|
+
- support for path expansion for formatter config
|
|
574
|
+
- added sample for uncrustify (c, c++)
|
|
575
|
+
- on "changes" tab
|
|
576
|
+
- added context menu to open file system explorer
|
|
577
|
+
- added support for custom context menu with `~/.gitonic/context.json`
|
|
578
|
+
- calling merge-tool with more then more file selected on change tab will
|
|
579
|
+
not block the user-interface anymore since starting independent from main process
|
|
580
|
+
- **important** add `--newtab` to `meld` configuration in `.gitconfig`
|
|
581
|
+
to re-use an already running instance of `meld`
|
|
582
|
+
- context menu handler expands user path (`~`)
|
|
583
|
+
-
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
# version v0.0.13 - 20231125
|
|
397
587
|
|
|
398
588
|
- show all untracked files on changes tab (not only the folder)
|
|
399
589
|
-
|
|
@@ -574,6 +764,7 @@ gitonic is released under the following
|
|
|
574
764
|
- adding single files
|
|
575
765
|
- open .gitignore for editing
|
|
576
766
|
- execute git operations in parallel where possible
|
|
767
|
+
- make expert mode debugging out better (use python logging)
|
|
577
768
|
-
|
|
578
769
|
|
|
579
770
|
|
|
@@ -597,7 +788,8 @@ refer to [issues](https://github.com/kr-g/gitonic/issues)
|
|
|
597
788
|
- `gitonic` interacts with `git` just like starting in bash / commandline.
|
|
598
789
|
at the present time there is _no_additional_ error checking.
|
|
599
790
|
this must be done by checking the log tab manually where all cmdline output goes.
|
|
600
|
-
|
|
791
|
+
- at the present time the context menu only works on the underlying file (row) in the table.
|
|
792
|
+
there is no support for multiple files (selection) as of now.
|
|
601
793
|
|
|
602
794
|
|
|
603
795
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
you are reading VERSION = v0.0.
|
|
4
|
+
you are reading VERSION = v0.0.14
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
# gitonic
|
|
@@ -11,9 +11,6 @@ gitonic simplifies working with multiple git repositories.
|
|
|
11
11
|
|
|
12
12
|
gitonic comes with an easy to use Tkinter GUI.
|
|
13
13
|
|
|
14
|
-
there is also a plugin for thonny
|
|
15
|
-
[`thonny-gitonic`](https://github.com/kr-g/thonny-gitonic)
|
|
16
|
-
|
|
17
14
|
|
|
18
15
|
# background
|
|
19
16
|
|
|
@@ -132,7 +129,11 @@ the general structure is:
|
|
|
132
129
|
}
|
|
133
130
|
}
|
|
134
131
|
|
|
135
|
-
|
|
132
|
+
where `.file-ext` is a simple file extension such as `.py`,
|
|
133
|
+
or a comma separated list of extensions `.c,.h,.cpp`.
|
|
134
|
+
wild-cards are not supported.
|
|
135
|
+
|
|
136
|
+
where `para` is an array of cmd-line options passed to the formatter command
|
|
136
137
|
where `%file` is a placeholder and replaced by the file name
|
|
137
138
|
|
|
138
139
|
for different file extensions `gitonic` will call the formatter accordingly
|
|
@@ -163,6 +164,20 @@ pycodestyle is an official tool from python's code quality authority.
|
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
|
|
167
|
+
to use the same code formatter also for
|
|
168
|
+
[`cython's`](https://github.com/cython/cython)
|
|
169
|
+
files with extension `.pyx` change the setting to
|
|
170
|
+
|
|
171
|
+
{
|
|
172
|
+
".py,.pyx": {
|
|
173
|
+
"cmd": "autopep8",
|
|
174
|
+
"para": [
|
|
175
|
+
"-i",
|
|
176
|
+
"%file"
|
|
177
|
+
]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
166
181
|
|
|
167
182
|
### black
|
|
168
183
|
|
|
@@ -197,6 +212,163 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
197
212
|
}
|
|
198
213
|
|
|
199
214
|
|
|
215
|
+
## templates for c, c++ formatters
|
|
216
|
+
|
|
217
|
+
all of the following tools are NOT part of `gitonic` standard installation.
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
### uncrustify
|
|
221
|
+
|
|
222
|
+
[`uncrustify`](https://github.com/uncrustify/uncrustify)
|
|
223
|
+
is a code formatter for c, c++ (and other languages).
|
|
224
|
+
|
|
225
|
+
here in this config sample it is configured for extensions `.c`, `.h`, and `.cpp`.
|
|
226
|
+
|
|
227
|
+
IMPORTANT: `uncrustify` requires an additional config file, a sample can be found here
|
|
228
|
+
[`uncrustify.cfg`](https://github.com/uncrustify/uncrustify/blob/master/forUncrustifySources.cfg)
|
|
229
|
+
|
|
230
|
+
here in the sample the `uncrustify` config file is placed in path `~/.gitonic/uncrustify.cfg`.
|
|
231
|
+
make sure that it is there.
|
|
232
|
+
|
|
233
|
+
the following needs to be placed inside `~/.gitonic/formatter.json`
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
".c,.h,.cpp": {
|
|
237
|
+
"cmd": "uncrustify",
|
|
238
|
+
"para": [
|
|
239
|
+
"-c",
|
|
240
|
+
"~/.gitonic/uncrustify.cfg",
|
|
241
|
+
"--replace",
|
|
242
|
+
"%file",
|
|
243
|
+
"--no-backup",
|
|
244
|
+
"--if-changed"
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
# custom context menu handler
|
|
250
|
+
|
|
251
|
+
when clicking on the `changes` tab right a context memu opens offering
|
|
252
|
+
to open the system file manager tool (file explorer)
|
|
253
|
+
at the base git repo path or at the changed file path.
|
|
254
|
+
|
|
255
|
+
in addition it is possible to add own custom context menu entries here.
|
|
256
|
+
configuration is done with `~/.gitonic/context.json` file.
|
|
257
|
+
|
|
258
|
+
the general structure is:
|
|
259
|
+
|
|
260
|
+
{
|
|
261
|
+
"a-context-name-ctx": {
|
|
262
|
+
"expr": "*",
|
|
263
|
+
"menu": [
|
|
264
|
+
[
|
|
265
|
+
"some text $GIT",
|
|
266
|
+
[
|
|
267
|
+
"cmd-path",
|
|
268
|
+
"whatever_param=$GIT"
|
|
269
|
+
]
|
|
270
|
+
],
|
|
271
|
+
[
|
|
272
|
+
"some other text $PATH",
|
|
273
|
+
[
|
|
274
|
+
"cmd-path2",
|
|
275
|
+
"whatever_param=$PATH"
|
|
276
|
+
]
|
|
277
|
+
]
|
|
278
|
+
]
|
|
279
|
+
},
|
|
280
|
+
...
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
here the variables `$GIT`, `$PATH`, or `$FILE` are replaced
|
|
285
|
+
by the corrosponding path before execution.
|
|
286
|
+
|
|
287
|
+
the `expr` key contains a single file pattern, or a list of
|
|
288
|
+
file patterns - when to enable the context menu.
|
|
289
|
+
the file pattern is following Unix filename pattern matching.
|
|
290
|
+
|
|
291
|
+
the `menu` array contains the text to display in the menu,
|
|
292
|
+
and the command params as embedded array.
|
|
293
|
+
|
|
294
|
+
the context name as such can have any value
|
|
295
|
+
(as long it is unique in the structure).
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
below a sample `~/.gitonic/context.json` file
|
|
299
|
+
for running on linux with xfce.
|
|
300
|
+
|
|
301
|
+
{
|
|
302
|
+
"term-ctx": {
|
|
303
|
+
"expr": "*",
|
|
304
|
+
"menu": [
|
|
305
|
+
[
|
|
306
|
+
"Open Terminal at $GIT",
|
|
307
|
+
[
|
|
308
|
+
"xfce4-terminal",
|
|
309
|
+
"--working-directory=$GIT"
|
|
310
|
+
]
|
|
311
|
+
],
|
|
312
|
+
[
|
|
313
|
+
"Open Terminal at $PATH",
|
|
314
|
+
[
|
|
315
|
+
"xfce4-terminal",
|
|
316
|
+
"--working-directory=$PATH"
|
|
317
|
+
]
|
|
318
|
+
],
|
|
319
|
+
[
|
|
320
|
+
"Edit .gitignore at $GIT",
|
|
321
|
+
[
|
|
322
|
+
"xed",
|
|
323
|
+
"$GIT/.gitignore"
|
|
324
|
+
]
|
|
325
|
+
]
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"spyder-ctx": {
|
|
329
|
+
"expr": "*.py",
|
|
330
|
+
"menu": [
|
|
331
|
+
[
|
|
332
|
+
"spyder python $FILE",
|
|
333
|
+
[
|
|
334
|
+
"~/spyder/.venv/bin/spyder",
|
|
335
|
+
"$FILE"
|
|
336
|
+
]
|
|
337
|
+
]
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
"geany-ctx": {
|
|
341
|
+
"expr": [
|
|
342
|
+
"*.c",
|
|
343
|
+
"*.cpp",
|
|
344
|
+
"*.h"
|
|
345
|
+
],
|
|
346
|
+
"menu": [
|
|
347
|
+
[
|
|
348
|
+
"geany c $FILE",
|
|
349
|
+
[
|
|
350
|
+
"geany",
|
|
351
|
+
"$FILE"
|
|
352
|
+
]
|
|
353
|
+
]
|
|
354
|
+
]
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
remark:
|
|
360
|
+
the sample config file provides support for opening
|
|
361
|
+
- terminal, in this case `xfce4-terminal`, can be replaced by e.g. `xterm` - depending on your distribution
|
|
362
|
+
- `.gitignore` file for selected repo with [`xed`](https://en.wikipedia.org/wiki/Xed)
|
|
363
|
+
- [`spyder-ide.org`](https://spyder-ide.org/), for files matching `*.py`
|
|
364
|
+
- [`geany`](https://www.geany.org/), for files matching `*.c`, `*.cpp`, `*.h`
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
**limitation:**
|
|
368
|
+
|
|
369
|
+
at the present time the context menu only works on the underlying file (row) in the table.
|
|
370
|
+
there is **no** support for multiple files (selection) as of now.
|
|
371
|
+
|
|
200
372
|
|
|
201
373
|
|
|
202
374
|
# platform
|
|
@@ -291,7 +463,7 @@ when during startup an error is thrown, refer to
|
|
|
291
463
|
# git configuration
|
|
292
464
|
|
|
293
465
|
add a `.git-credentials` file as described here
|
|
294
|
-
[`git-credentials`](https://git-scm.com/docs/git-credential-store
|
|
466
|
+
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
295
467
|
|
|
296
468
|
|
|
297
469
|
add a `.gitconfig` file as described here
|
|
@@ -314,14 +486,14 @@ if meld is not installed pressing the button will have no effect.
|
|
|
314
486
|
[difftool]
|
|
315
487
|
prompt = false
|
|
316
488
|
[difftool "meld"]
|
|
317
|
-
cmd = meld "$LOCAL" "$REMOTE"
|
|
489
|
+
cmd = meld --newtab "$LOCAL" "$REMOTE"
|
|
318
490
|
|
|
319
491
|
[merge]
|
|
320
492
|
tool = meld
|
|
321
493
|
[mergetool "meld"]
|
|
322
494
|
# Choose one of these 2 lines (not both!)
|
|
323
495
|
# cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
|
|
324
|
-
cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
|
496
|
+
cmd = meld --newtab "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"
|
|
325
497
|
|
|
326
498
|
|
|
327
499
|
# additional notes
|
|
@@ -343,9 +515,10 @@ following files are used:
|
|
|
343
515
|
|file|description|
|
|
344
516
|
|---|---|
|
|
345
517
|
|~/.gitonic/commit.json|the last commit messages show in the combo box|
|
|
346
|
-
|~/.gitonic/tracked.json|tracked git repositories|
|
|
347
518
|
|~/.gitonic/config.json|configuration settings|
|
|
519
|
+
|~/.gitonic/context.json|configuration for context menu on changes tab|
|
|
348
520
|
|~/.gitonic/formatter.json|configuration for external formatter tools|
|
|
521
|
+
|~/.gitonic/tracked.json|tracked git repositories|
|
|
349
522
|
|~/.gitonic/socket|internal use|
|
|
350
523
|
|
|
351
524
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = "v0.0.14"
|