gitonic 0.18.1__tar.gz → 0.18.5__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.18.1 → gitonic-0.18.5}/BACKLOG.md +2 -2
- {gitonic-0.18.1 → gitonic-0.18.5}/CHANGELOG.md +31 -4
- {gitonic-0.18.1 → gitonic-0.18.5}/PKG-INFO +83 -22
- {gitonic-0.18.1 → gitonic-0.18.5}/README.md +46 -14
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/conf.py +1 -1
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/const.py +1 -1
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/gitcmd.py +5 -3
- gitonic-0.18.5/gitonic/core/githubver.py +39 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/giton.py +16 -1
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/gitonapp.py +1 -1
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/gitonic.py +33 -6
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/singleinstance.py +7 -2
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/tkuiapp.py +5 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/tkuicore.py +3 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/PKG-INFO +83 -22
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/SOURCES.txt +1 -1
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/requires.txt +2 -0
- gitonic-0.18.1/gitonic/core/ncur.py +0 -24
- {gitonic-0.18.1 → gitonic-0.18.5}/LICENSE.md +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/MANIFEST.in +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/git-alt.svg +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/git-black.svg +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/git-red.svg +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/git-white.svg +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/__init__.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/__main__.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/__init__.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/configs.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/dataflow.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/file.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/gitobj.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/gitutil.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/logs.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/proc.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/runr.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/sysutil.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/core/task.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/gtcd.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/gtcommon.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/gtls.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/__init__.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/icons.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts/LICENSE +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.codepoints +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.codepoints +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/material_fonts.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/otherdeps/LICENSE-gitonic +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/otherdeps/LICENSE-tktootip +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/tkuiview.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic/tkui/tkuiwidg.py +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/dependency_links.txt +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/entry_points.txt +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/gitonic.egg-info/top_level.txt +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/pyproject.toml +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/setup.cfg +0 -0
- {gitonic-0.18.1 → gitonic-0.18.5}/setup.py +0 -0
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
- settings tabs
|
|
29
29
|
- check for installed git
|
|
30
30
|
- ~~git exe configuration in settings~~
|
|
31
|
-
- check for latest version of gitonic
|
|
31
|
+
- ~~check for latest version of gitonic~~
|
|
32
32
|
-
|
|
33
33
|
- ~~config file for last known config~~
|
|
34
34
|
- ~~diff-tool blocks main screen (see next)~~
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
- less sensitive (disappears to quickly)
|
|
72
72
|
- multiple row feature
|
|
73
73
|
- splash screen
|
|
74
|
-
- new version notification
|
|
74
|
+
- ~~new version notification ~~
|
|
75
75
|
-
|
|
76
76
|
|
|
77
77
|
|
|
@@ -3,6 +3,32 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
## version v0.19.0 - ????????
|
|
6
|
+
-
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## version v0.18.5 - 20251207
|
|
10
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
11
|
+
- gitcmd file quoting
|
|
12
|
+
- localhost paramter for single instance
|
|
13
|
+
- git difftool
|
|
14
|
+
- context menu process start
|
|
15
|
+
- rework handling commit clear
|
|
16
|
+
-
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## version v0.18.4 - 20251207
|
|
20
|
+
- skipped
|
|
21
|
+
-
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## version v0.18.3 - 20251113
|
|
25
|
+
- fix python version in setup
|
|
26
|
+
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## version v0.18.2 - 20251113
|
|
30
|
+
- check for latest version of gitonic
|
|
31
|
+
- fix #9 for renamed file handling
|
|
6
32
|
-
|
|
7
33
|
|
|
8
34
|
|
|
@@ -11,12 +37,13 @@
|
|
|
11
37
|
-
|
|
12
38
|
|
|
13
39
|
|
|
14
|
-
## version v0.18.0 - 20251109
|
|
40
|
+
## version v0.18.0 - 20251109 - not available on pypi
|
|
15
41
|
- redesign multi tasking / tk eventloop
|
|
16
42
|
- user interface is now non-blocking
|
|
17
43
|
- multi tasking tested with python 3.12
|
|
18
44
|
- **not yet tested** with python 3.13 / 3.14
|
|
19
|
-
- `gitonic` is released for python3.12 (fixed version)
|
|
45
|
+
- `gitonic` is released for **python3.12 (fixed version)**
|
|
46
|
+
- open issue [free threading](https://github.com/kr-g/gitonic/issues/8)
|
|
20
47
|
- current implementation uses threads to fork `git` processes in the background
|
|
21
48
|
- the main tk eventloop receives the thread results and process this in callbacks
|
|
22
49
|
- read here for detailed information [`tk eventloop`](https://tkdocs.com/tutorial/eventloop.html))
|
|
@@ -31,9 +58,9 @@
|
|
|
31
58
|
- filter log for each repo
|
|
32
59
|
- codebase refactored
|
|
33
60
|
- new commandline tools (UNDER CONTSRUCTION - not yet final - dont expect anything!!! - this might be dropped in the future)
|
|
34
|
-
- `gtcd.py`
|
|
61
|
+
- `gtcd.py` alias `gtcd`
|
|
35
62
|
- opens a new terminal for a git repo quickly
|
|
36
|
-
- `gtls.py`
|
|
63
|
+
- `gtls.py` alias `gtls`
|
|
37
64
|
- list all changes for all tracked git repo
|
|
38
65
|
-
|
|
39
66
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitonic
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.5
|
|
4
4
|
Summary: manage a multi git workspace
|
|
5
5
|
Home-page: https://github.com/kr-g/gitonic
|
|
6
6
|
Author: k. goger
|
|
@@ -15,11 +15,13 @@ Classifier: Topic :: Utilities
|
|
|
15
15
|
Classifier: Topic :: Desktop Environment
|
|
16
16
|
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Requires-Python: >=3.12
|
|
18
|
+
Requires-Python: >=3.12
|
|
19
19
|
Description-Content-Type: text/markdown
|
|
20
20
|
License-File: LICENSE.md
|
|
21
21
|
Requires-Dist: pillow
|
|
22
22
|
Requires-Dist: tkinter-tooltip
|
|
23
|
+
Requires-Dist: semver
|
|
24
|
+
Requires-Dist: urllib3
|
|
23
25
|
Provides-Extra: pep08
|
|
24
26
|
Requires-Dist: pycodestyle; extra == "pep08"
|
|
25
27
|
Requires-Dist: flake8; extra == "pep08"
|
|
@@ -51,9 +53,10 @@ Dynamic: requires-python
|
|
|
51
53
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
52
54
|
|
|
53
55
|
|
|
54
|
-
you are reading VERSION = v0.18.
|
|
56
|
+
you are reading VERSION = v0.18.5
|
|
57
|
+
|
|
58
|
+
version v0.18.0 will come with some bigger changes.
|
|
55
59
|
|
|
56
|
-
version v0.18.1 will come with some bigger changes.
|
|
57
60
|
|
|
58
61
|
read latest news here:
|
|
59
62
|
|
|
@@ -257,14 +260,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
257
260
|
|
|
258
261
|
### black
|
|
259
262
|
|
|
260
|
-
black
|
|
261
|
-
there might be some rework required (from case to case).
|
|
262
|
-
result is quite similar to
|
|
263
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
264
|
-
beside the list reported by pycodestyle (after formatting)
|
|
265
|
-
is a bit longer comparing to
|
|
266
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
267
|
-
what does a better job here.
|
|
263
|
+
[black](https://github.com/psf/black)
|
|
268
264
|
|
|
269
265
|
{
|
|
270
266
|
".py": {
|
|
@@ -278,8 +274,8 @@ what does a better job here.
|
|
|
278
274
|
|
|
279
275
|
### yapf
|
|
280
276
|
|
|
281
|
-
yapf
|
|
282
|
-
|
|
277
|
+
[yapf](https://github.com/google/yapf)
|
|
278
|
+
(google python code formatter).
|
|
283
279
|
|
|
284
280
|
{
|
|
285
281
|
".py": {
|
|
@@ -294,7 +290,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
294
290
|
|
|
295
291
|
## templates for c, c++ formatters
|
|
296
292
|
|
|
297
|
-
all of the following tools are NOT part of `gitonic` standard installation.
|
|
293
|
+
all of the following tools are **NOT** part of `gitonic` standard installation.
|
|
298
294
|
|
|
299
295
|
|
|
300
296
|
### uncrustify
|
|
@@ -517,6 +513,22 @@ for running on linux with xfce.
|
|
|
517
513
|
],
|
|
518
514
|
"workdir": "$GIT",
|
|
519
515
|
"changes-all": [
|
|
516
|
+
{
|
|
517
|
+
"name": "git push $_GIT",
|
|
518
|
+
"para": [
|
|
519
|
+
"git",
|
|
520
|
+
"push"
|
|
521
|
+
],
|
|
522
|
+
"logexpert" : true
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "git pull $_GIT",
|
|
526
|
+
"para": [
|
|
527
|
+
"git",
|
|
528
|
+
"pull"
|
|
529
|
+
],
|
|
530
|
+
"logexpert" : true
|
|
531
|
+
},
|
|
520
532
|
{
|
|
521
533
|
"name": "gitk $_GIT",
|
|
522
534
|
"para": [
|
|
@@ -609,11 +621,14 @@ to run gitonic use the script from the virtual environment directly
|
|
|
609
621
|
~/gitonic/bin/gitonic
|
|
610
622
|
|
|
611
623
|
|
|
612
|
-
it is recommented to create
|
|
624
|
+
it is recommented to create some alias in `.bash_aliases`.
|
|
613
625
|
add the following line at the end of `.bash_aliases`
|
|
614
626
|
|
|
615
627
|
alias gitonic=~/gitonic/bin/gitonic
|
|
616
628
|
|
|
629
|
+
alias gtcd=~/gitonic/bin/gtcd
|
|
630
|
+
alias gtls=~/gitonic/bin/gtls
|
|
631
|
+
|
|
617
632
|
|
|
618
633
|
## other installation dependencies
|
|
619
634
|
|
|
@@ -662,8 +677,20 @@ add a `.git-credentials` file as described here
|
|
|
662
677
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
663
678
|
|
|
664
679
|
|
|
680
|
+
NOTE: the structure for an entry in `.git-credentials` is as following,
|
|
681
|
+
e.g. for github put a single text line with
|
|
682
|
+
|
|
683
|
+
https://your-user:your-personal-classic-token@github.com
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
NOTE: `github` personal access tokens (classic) are maintained on `github` under:
|
|
687
|
+
|
|
688
|
+
profile > settings > developer settings > personal access tokens > tokens (classic)
|
|
689
|
+
|
|
690
|
+
|
|
665
691
|
add a `.gitconfig` file as described here
|
|
666
692
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
693
|
+
|
|
667
694
|
and configure for diff and merge tools.
|
|
668
695
|
NOTE: you need to install the diff-tool e.g.
|
|
669
696
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -731,6 +758,13 @@ gitonic is released under the following
|
|
|
731
758
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
732
759
|
|
|
733
760
|
|
|
761
|
+
## included components licenses
|
|
762
|
+
|
|
763
|
+
[tkinter-tooktip](https://github.com/gnikit/tkinter-tooltip)
|
|
764
|
+
|
|
765
|
+
[google-material-icons](https://github.com/google/material-design-icons)
|
|
766
|
+
|
|
767
|
+
|
|
734
768
|
# support and donations
|
|
735
769
|
|
|
736
770
|
support the further development of `gitonic` with a donation of your choice.
|
|
@@ -745,6 +779,32 @@ thank you !!!
|
|
|
745
779
|
|
|
746
780
|
|
|
747
781
|
## version v0.19.0 - ????????
|
|
782
|
+
-
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
## version v0.18.5 - 20251207
|
|
786
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
787
|
+
- gitcmd file quoting
|
|
788
|
+
- localhost paramter for single instance
|
|
789
|
+
- git difftool
|
|
790
|
+
- context menu process start
|
|
791
|
+
- rework handling commit clear
|
|
792
|
+
-
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
## version v0.18.4 - 20251207
|
|
796
|
+
- skipped
|
|
797
|
+
-
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
## version v0.18.3 - 20251113
|
|
801
|
+
- fix python version in setup
|
|
802
|
+
-
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
## version v0.18.2 - 20251113
|
|
806
|
+
- check for latest version of gitonic
|
|
807
|
+
- fix #9 for renamed file handling
|
|
748
808
|
-
|
|
749
809
|
|
|
750
810
|
|
|
@@ -753,12 +813,13 @@ thank you !!!
|
|
|
753
813
|
-
|
|
754
814
|
|
|
755
815
|
|
|
756
|
-
## version v0.18.0 - 20251109
|
|
816
|
+
## version v0.18.0 - 20251109 - not available on pypi
|
|
757
817
|
- redesign multi tasking / tk eventloop
|
|
758
818
|
- user interface is now non-blocking
|
|
759
819
|
- multi tasking tested with python 3.12
|
|
760
820
|
- **not yet tested** with python 3.13 / 3.14
|
|
761
|
-
- `gitonic` is released for python3.12 (fixed version)
|
|
821
|
+
- `gitonic` is released for **python3.12 (fixed version)**
|
|
822
|
+
- open issue [free threading](https://github.com/kr-g/gitonic/issues/8)
|
|
762
823
|
- current implementation uses threads to fork `git` processes in the background
|
|
763
824
|
- the main tk eventloop receives the thread results and process this in callbacks
|
|
764
825
|
- read here for detailed information [`tk eventloop`](https://tkdocs.com/tutorial/eventloop.html))
|
|
@@ -773,9 +834,9 @@ thank you !!!
|
|
|
773
834
|
- filter log for each repo
|
|
774
835
|
- codebase refactored
|
|
775
836
|
- new commandline tools (UNDER CONTSRUCTION - not yet final - dont expect anything!!! - this might be dropped in the future)
|
|
776
|
-
- `gtcd.py`
|
|
837
|
+
- `gtcd.py` alias `gtcd`
|
|
777
838
|
- opens a new terminal for a git repo quickly
|
|
778
|
-
- `gtls.py`
|
|
839
|
+
- `gtls.py` alias `gtls`
|
|
779
840
|
- list all changes for all tracked git repo
|
|
780
841
|
-
|
|
781
842
|
|
|
@@ -975,7 +1036,7 @@ thank you !!!
|
|
|
975
1036
|
- settings tabs
|
|
976
1037
|
- check for installed git
|
|
977
1038
|
- ~~git exe configuration in settings~~
|
|
978
|
-
- check for latest version of gitonic
|
|
1039
|
+
- ~~check for latest version of gitonic~~
|
|
979
1040
|
-
|
|
980
1041
|
- ~~config file for last known config~~
|
|
981
1042
|
- ~~diff-tool blocks main screen (see next)~~
|
|
@@ -1018,7 +1079,7 @@ thank you !!!
|
|
|
1018
1079
|
- less sensitive (disappears to quickly)
|
|
1019
1080
|
- multiple row feature
|
|
1020
1081
|
- splash screen
|
|
1021
|
-
- new version notification
|
|
1082
|
+
- ~~new version notification ~~
|
|
1022
1083
|
-
|
|
1023
1084
|
|
|
1024
1085
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
you are reading VERSION = v0.18.
|
|
4
|
+
you are reading VERSION = v0.18.5
|
|
5
|
+
|
|
6
|
+
version v0.18.0 will come with some bigger changes.
|
|
5
7
|
|
|
6
|
-
version v0.18.1 will come with some bigger changes.
|
|
7
8
|
|
|
8
9
|
read latest news here:
|
|
9
10
|
|
|
@@ -207,14 +208,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
207
208
|
|
|
208
209
|
### black
|
|
209
210
|
|
|
210
|
-
black
|
|
211
|
-
there might be some rework required (from case to case).
|
|
212
|
-
result is quite similar to
|
|
213
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
214
|
-
beside the list reported by pycodestyle (after formatting)
|
|
215
|
-
is a bit longer comparing to
|
|
216
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
217
|
-
what does a better job here.
|
|
211
|
+
[black](https://github.com/psf/black)
|
|
218
212
|
|
|
219
213
|
{
|
|
220
214
|
".py": {
|
|
@@ -228,8 +222,8 @@ what does a better job here.
|
|
|
228
222
|
|
|
229
223
|
### yapf
|
|
230
224
|
|
|
231
|
-
yapf
|
|
232
|
-
|
|
225
|
+
[yapf](https://github.com/google/yapf)
|
|
226
|
+
(google python code formatter).
|
|
233
227
|
|
|
234
228
|
{
|
|
235
229
|
".py": {
|
|
@@ -244,7 +238,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
244
238
|
|
|
245
239
|
## templates for c, c++ formatters
|
|
246
240
|
|
|
247
|
-
all of the following tools are NOT part of `gitonic` standard installation.
|
|
241
|
+
all of the following tools are **NOT** part of `gitonic` standard installation.
|
|
248
242
|
|
|
249
243
|
|
|
250
244
|
### uncrustify
|
|
@@ -467,6 +461,22 @@ for running on linux with xfce.
|
|
|
467
461
|
],
|
|
468
462
|
"workdir": "$GIT",
|
|
469
463
|
"changes-all": [
|
|
464
|
+
{
|
|
465
|
+
"name": "git push $_GIT",
|
|
466
|
+
"para": [
|
|
467
|
+
"git",
|
|
468
|
+
"push"
|
|
469
|
+
],
|
|
470
|
+
"logexpert" : true
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
"name": "git pull $_GIT",
|
|
474
|
+
"para": [
|
|
475
|
+
"git",
|
|
476
|
+
"pull"
|
|
477
|
+
],
|
|
478
|
+
"logexpert" : true
|
|
479
|
+
},
|
|
470
480
|
{
|
|
471
481
|
"name": "gitk $_GIT",
|
|
472
482
|
"para": [
|
|
@@ -559,11 +569,14 @@ to run gitonic use the script from the virtual environment directly
|
|
|
559
569
|
~/gitonic/bin/gitonic
|
|
560
570
|
|
|
561
571
|
|
|
562
|
-
it is recommented to create
|
|
572
|
+
it is recommented to create some alias in `.bash_aliases`.
|
|
563
573
|
add the following line at the end of `.bash_aliases`
|
|
564
574
|
|
|
565
575
|
alias gitonic=~/gitonic/bin/gitonic
|
|
566
576
|
|
|
577
|
+
alias gtcd=~/gitonic/bin/gtcd
|
|
578
|
+
alias gtls=~/gitonic/bin/gtls
|
|
579
|
+
|
|
567
580
|
|
|
568
581
|
## other installation dependencies
|
|
569
582
|
|
|
@@ -612,8 +625,20 @@ add a `.git-credentials` file as described here
|
|
|
612
625
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
613
626
|
|
|
614
627
|
|
|
628
|
+
NOTE: the structure for an entry in `.git-credentials` is as following,
|
|
629
|
+
e.g. for github put a single text line with
|
|
630
|
+
|
|
631
|
+
https://your-user:your-personal-classic-token@github.com
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
NOTE: `github` personal access tokens (classic) are maintained on `github` under:
|
|
635
|
+
|
|
636
|
+
profile > settings > developer settings > personal access tokens > tokens (classic)
|
|
637
|
+
|
|
638
|
+
|
|
615
639
|
add a `.gitconfig` file as described here
|
|
616
640
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
641
|
+
|
|
617
642
|
and configure for diff and merge tools.
|
|
618
643
|
NOTE: you need to install the diff-tool e.g.
|
|
619
644
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -681,6 +706,13 @@ gitonic is released under the following
|
|
|
681
706
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
682
707
|
|
|
683
708
|
|
|
709
|
+
## included components licenses
|
|
710
|
+
|
|
711
|
+
[tkinter-tooktip](https://github.com/gnikit/tkinter-tooltip)
|
|
712
|
+
|
|
713
|
+
[google-material-icons](https://github.com/google/material-design-icons)
|
|
714
|
+
|
|
715
|
+
|
|
684
716
|
# support and donations
|
|
685
717
|
|
|
686
718
|
support the further development of `gitonic` with a donation of your choice.
|
|
@@ -11,6 +11,8 @@ from sysutil import platform_windows
|
|
|
11
11
|
|
|
12
12
|
GIT = "git.exe" if platform_windows() else "git"
|
|
13
13
|
|
|
14
|
+
OS_QUOTE = "\"" if platform_windows() else "'"
|
|
15
|
+
|
|
14
16
|
#
|
|
15
17
|
|
|
16
18
|
|
|
@@ -31,7 +33,7 @@ def git_cmd(repo, cmdline, callb=None, stopcb=None):
|
|
|
31
33
|
# print("using", gexe)
|
|
32
34
|
return CmdTask() \
|
|
33
35
|
.configure(callb=callb, stop_callb=stopcb) \
|
|
34
|
-
.set_command(f"{gexe} -C
|
|
36
|
+
.set_command(f"{gexe} -C {OS_QUOTE}{repo}{OS_QUOTE} {cmdline}", )
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
def with_git_cmd(repo, cmd, callb=None, stopcb=None):
|
|
@@ -72,7 +74,7 @@ def git_tag(repo, tagnam="", callb=None, stopcb=None):
|
|
|
72
74
|
|
|
73
75
|
|
|
74
76
|
def join_files(files, sep=" "):
|
|
75
|
-
return sep.join(map(lambda x:
|
|
77
|
+
return sep.join(map(lambda x: OS_QUOTE + x + OS_QUOTE, files))
|
|
76
78
|
|
|
77
79
|
#
|
|
78
80
|
|
|
@@ -106,7 +108,7 @@ def git_add_index_undo(repo, files, callb=None, stopcb=None):
|
|
|
106
108
|
|
|
107
109
|
|
|
108
110
|
def git_commit(repo, comment, callb=None, stopcb=None):
|
|
109
|
-
return with_git_cmd(repo, f"commit -m
|
|
111
|
+
return with_git_cmd(repo, f"commit -m {OS_QUOTE}{comment}{OS_QUOTE}", callb=callb, stopcb=stopcb)
|
|
110
112
|
|
|
111
113
|
#
|
|
112
114
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from const import VERSION
|
|
2
|
+
|
|
3
|
+
import semver
|
|
4
|
+
from urllib3 import request
|
|
5
|
+
|
|
6
|
+
URL = "https://api.github.com/repos/kr-g/gitonic/tags"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def mkver(x):
|
|
10
|
+
return x[1:]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def check_github_new_version():
|
|
14
|
+
|
|
15
|
+
try:
|
|
16
|
+
res = request("GET", URL)
|
|
17
|
+
except Exception as ex:
|
|
18
|
+
return None, ex
|
|
19
|
+
|
|
20
|
+
verslist_published = list(map(lambda x: mkver(x['name']), res.json()))
|
|
21
|
+
|
|
22
|
+
verlist_published = list(
|
|
23
|
+
map(lambda x: semver.Version.parse(x), verslist_published))
|
|
24
|
+
|
|
25
|
+
latest_published = max(verlist_published)
|
|
26
|
+
|
|
27
|
+
version_current = semver.Version.parse(mkver(VERSION))
|
|
28
|
+
|
|
29
|
+
if version_current < latest_published:
|
|
30
|
+
return latest_published, None
|
|
31
|
+
|
|
32
|
+
return None, None
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
latest_published, ex = check_github_new_version()
|
|
37
|
+
if latest_published:
|
|
38
|
+
print(f"you are using gitonic {
|
|
39
|
+
VERSION}. there is a new version available {latest_published}")
|
|
@@ -319,6 +319,12 @@ class GitonicCmdIt(object):
|
|
|
319
319
|
print("empty list")
|
|
320
320
|
return
|
|
321
321
|
|
|
322
|
+
# remove renamed files
|
|
323
|
+
files = list(filter(lambda x: x.staged != "R", files))
|
|
324
|
+
|
|
325
|
+
# status -> fnam
|
|
326
|
+
files = list(map(lambda x: x.file, files))
|
|
327
|
+
|
|
322
328
|
cmd = git_add(repo.path, files, stopcb=self._stop_callb)
|
|
323
329
|
yield cmd
|
|
324
330
|
|
|
@@ -330,6 +336,8 @@ class GitonicCmdIt(object):
|
|
|
330
336
|
|
|
331
337
|
print("***undo add", files)
|
|
332
338
|
|
|
339
|
+
files = list(filter(lambda x: x.staged != "R", files))
|
|
340
|
+
|
|
333
341
|
files_m = list(filter(lambda x: x.staged != "A", files))
|
|
334
342
|
files_m = list(map(lambda x: x.file, files_m))
|
|
335
343
|
|
|
@@ -401,7 +409,14 @@ class GitonicCmdIt(object):
|
|
|
401
409
|
# run unattached
|
|
402
410
|
|
|
403
411
|
args = [get_git_exe(), "difftool", file.file.file]
|
|
404
|
-
|
|
412
|
+
|
|
413
|
+
print("difftool args", args)
|
|
414
|
+
|
|
415
|
+
# todo
|
|
416
|
+
import subprocess
|
|
417
|
+
rc = subprocess.Popen(args)
|
|
418
|
+
|
|
419
|
+
# rc = os.spawnve(os.P_NOWAIT, args[0], args, os.environ)
|
|
405
420
|
|
|
406
421
|
logex.info("difftool_files_task_it started", args)
|
|
407
422
|
|
|
@@ -413,7 +413,7 @@ class StageFileCmd(GitCmd):
|
|
|
413
413
|
repofiles = list(
|
|
414
414
|
filter(lambda x: x.repo.path == repo.path, self.selfiles))
|
|
415
415
|
|
|
416
|
-
repofiles = list(map(lambda x: x.file
|
|
416
|
+
repofiles = list(map(lambda x: x.file, repofiles))
|
|
417
417
|
|
|
418
418
|
if len(repofiles) == 0:
|
|
419
419
|
yield FuncTask().set_name("nop").set_func()
|
|
@@ -5,6 +5,9 @@ import os
|
|
|
5
5
|
import fnmatch
|
|
6
6
|
import queue
|
|
7
7
|
|
|
8
|
+
#
|
|
9
|
+
from core.githubver import check_github_new_version
|
|
10
|
+
|
|
8
11
|
#
|
|
9
12
|
|
|
10
13
|
from core.logs import LogOutHandler
|
|
@@ -19,10 +22,10 @@ from core.sysutil import get_terminal_size, open_file_explorer
|
|
|
19
22
|
|
|
20
23
|
#
|
|
21
24
|
|
|
22
|
-
from tkui.tkuicore import tk_show_error
|
|
25
|
+
from tkui.tkuicore import tk_show_error, tk_show_warning
|
|
23
26
|
from tkui.singleinstance import switch2instance, tk_bg_bring_to_front, cleanup_single_instance
|
|
24
27
|
|
|
25
|
-
from tkui.tkuiapp import ui_app, root, tk_add_bg_callb, tk_get_root
|
|
28
|
+
from tkui.tkuiapp import ui_app, root, tk_add_bg_callb, tk_get_root, VERSION_INFO
|
|
26
29
|
from tkui.tkuiwidg import TNContextMenu
|
|
27
30
|
|
|
28
31
|
from core.gitonapp import (GitonicApp, FetchCmd, PullCmd, CommitCmd,
|
|
@@ -1011,8 +1014,11 @@ def load_and_set_context_settings(sect, ctxmenu, gnam_dir, fnam_dir, fnam):
|
|
|
1011
1014
|
logex.info("run command", *args)
|
|
1012
1015
|
|
|
1013
1016
|
with PushDir(workdir):
|
|
1014
|
-
|
|
1015
|
-
|
|
1017
|
+
|
|
1018
|
+
# todo
|
|
1019
|
+
import subprocess
|
|
1020
|
+
rc = subprocess.Popen(args)
|
|
1021
|
+
|
|
1016
1022
|
logex.info("call result", rc)
|
|
1017
1023
|
|
|
1018
1024
|
return _runner
|
|
@@ -1027,10 +1033,12 @@ def load_and_set_context_settings(sect, ctxmenu, gnam_dir, fnam_dir, fnam):
|
|
|
1027
1033
|
#
|
|
1028
1034
|
#
|
|
1029
1035
|
app = None
|
|
1036
|
+
new_version = None
|
|
1030
1037
|
|
|
1031
1038
|
|
|
1032
1039
|
def main_func():
|
|
1033
1040
|
global app
|
|
1041
|
+
global new_version
|
|
1034
1042
|
|
|
1035
1043
|
if switch2instance(PATH):
|
|
1036
1044
|
logex.info("allready running. switch to instance")
|
|
@@ -1039,6 +1047,16 @@ def main_func():
|
|
|
1039
1047
|
tk_get_root().add_quit_handler(cleanup_single_instance)
|
|
1040
1048
|
|
|
1041
1049
|
app = GitonicApp()
|
|
1050
|
+
|
|
1051
|
+
new_version, ex_version = check_github_new_version()
|
|
1052
|
+
|
|
1053
|
+
if ex_version:
|
|
1054
|
+
print(f"!!!!!!! new version available {new_version}")
|
|
1055
|
+
tk_show_error("version information","could not connect to update site.\n\nERR: check your internet connection.")
|
|
1056
|
+
|
|
1057
|
+
if new_version:
|
|
1058
|
+
print(f"!!!!!!! new version available {new_version}")
|
|
1059
|
+
tk_show_warning("version information",f"there is a new version\nof gitonic availabe\n\n{new_version}")
|
|
1042
1060
|
|
|
1043
1061
|
# cmd = RefreshCmd(app).setup().complete()
|
|
1044
1062
|
# app.sort_refs()
|
|
@@ -1099,6 +1117,9 @@ def main_func():
|
|
|
1099
1117
|
ui_app.pane_commit.msg_cb.set_val(msgshort)
|
|
1100
1118
|
ui_app.pane_commit.msg_text.set_val(msglong)
|
|
1101
1119
|
|
|
1120
|
+
if ui_app.pane_commit.clrcommit_ck.get_val():
|
|
1121
|
+
commit_clear()
|
|
1122
|
+
|
|
1102
1123
|
# log
|
|
1103
1124
|
|
|
1104
1125
|
ui_app.pane_log.repos.on_click = on_filter_log_repo
|
|
@@ -1181,8 +1202,14 @@ def main_func():
|
|
|
1181
1202
|
tk_bg_bring_to_front(tk_get_root())
|
|
1182
1203
|
|
|
1183
1204
|
#
|
|
1184
|
-
|
|
1185
|
-
|
|
1205
|
+
titstr = VERSION
|
|
1206
|
+
if new_version:
|
|
1207
|
+
titstr += f" ===> !!! NEW VERSION AVAILABLE {new_version} !!!"
|
|
1208
|
+
VERSION_INFO.set_val( f"NEW VERSION AVAILABLE: {new_version}" )
|
|
1209
|
+
if ex_version:
|
|
1210
|
+
VERSION_INFO.set_val( "version: could not connect to update site." )
|
|
1211
|
+
|
|
1212
|
+
ui_app.set_title(titstr)
|
|
1186
1213
|
|
|
1187
1214
|
# update first time
|
|
1188
1215
|
root.after(153, refresh_tracked_from_workspace)
|
|
@@ -31,7 +31,7 @@ def create_socket(port=0):
|
|
|
31
31
|
|
|
32
32
|
def create_client_socket(port=0):
|
|
33
33
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
34
|
-
sock.connect(("", port))
|
|
34
|
+
sock.connect(("localhost", port))
|
|
35
35
|
try:
|
|
36
36
|
rc = sock.send("helo\n".encode())
|
|
37
37
|
print_t("send helo", rc)
|
|
@@ -42,6 +42,7 @@ def create_client_socket(port=0):
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
def bring_to_front(wndw):
|
|
45
|
+
# todo not working on windows
|
|
45
46
|
wndw.deiconify()
|
|
46
47
|
wndw.lift()
|
|
47
48
|
|
|
@@ -111,9 +112,13 @@ def switch2instance(path):
|
|
|
111
112
|
|
|
112
113
|
global _fnam
|
|
113
114
|
|
|
114
|
-
_fnam = os.path.join("~", path
|
|
115
|
+
_fnam = os.path.join("~", path)
|
|
115
116
|
_fnam = os.path.expanduser(_fnam)
|
|
116
117
|
|
|
118
|
+
os.makedirs(_fnam, exist_ok=True)
|
|
119
|
+
|
|
120
|
+
_fnam = os.path.join(_fnam, "socket")
|
|
121
|
+
|
|
117
122
|
print_t("EXE", _fnam)
|
|
118
123
|
|
|
119
124
|
global _sock
|
|
@@ -286,6 +286,11 @@ filler = TNLabel(
|
|
|
286
286
|
footer, text=f"env: Python {sysver[0]}.{sysver[1]}.{sysver[2]}", image="info", compound=tk.LEFT)
|
|
287
287
|
filler.pack(side=tk.LEFT, expand=True, fill=tk.X, padx=15)
|
|
288
288
|
|
|
289
|
+
|
|
290
|
+
VERSION_INFO = TNLabel(
|
|
291
|
+
footer, text="version: latest", image="info", compound=tk.LEFT)
|
|
292
|
+
VERSION_INFO.pack(side=tk.LEFT, expand=True, fill=tk.X, padx=15)
|
|
293
|
+
|
|
289
294
|
#
|
|
290
295
|
|
|
291
296
|
root.resizable(True, True)
|
|
@@ -30,6 +30,9 @@ def tk_get_icon(name, height=HEIGHT, image_size=(HEIGHT+3, HEIGHT+3), bg="lightg
|
|
|
30
30
|
def tk_show_error(title, message):
|
|
31
31
|
tk_messagebox.showerror(title, message)
|
|
32
32
|
|
|
33
|
+
def tk_show_warning(title, message):
|
|
34
|
+
tk_messagebox.showwarning(title, message)
|
|
35
|
+
|
|
33
36
|
#
|
|
34
37
|
|
|
35
38
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitonic
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.5
|
|
4
4
|
Summary: manage a multi git workspace
|
|
5
5
|
Home-page: https://github.com/kr-g/gitonic
|
|
6
6
|
Author: k. goger
|
|
@@ -15,11 +15,13 @@ Classifier: Topic :: Utilities
|
|
|
15
15
|
Classifier: Topic :: Desktop Environment
|
|
16
16
|
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
17
17
|
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Requires-Python: >=3.12
|
|
18
|
+
Requires-Python: >=3.12
|
|
19
19
|
Description-Content-Type: text/markdown
|
|
20
20
|
License-File: LICENSE.md
|
|
21
21
|
Requires-Dist: pillow
|
|
22
22
|
Requires-Dist: tkinter-tooltip
|
|
23
|
+
Requires-Dist: semver
|
|
24
|
+
Requires-Dist: urllib3
|
|
23
25
|
Provides-Extra: pep08
|
|
24
26
|
Requires-Dist: pycodestyle; extra == "pep08"
|
|
25
27
|
Requires-Dist: flake8; extra == "pep08"
|
|
@@ -51,9 +53,10 @@ Dynamic: requires-python
|
|
|
51
53
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
52
54
|
|
|
53
55
|
|
|
54
|
-
you are reading VERSION = v0.18.
|
|
56
|
+
you are reading VERSION = v0.18.5
|
|
57
|
+
|
|
58
|
+
version v0.18.0 will come with some bigger changes.
|
|
55
59
|
|
|
56
|
-
version v0.18.1 will come with some bigger changes.
|
|
57
60
|
|
|
58
61
|
read latest news here:
|
|
59
62
|
|
|
@@ -257,14 +260,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
257
260
|
|
|
258
261
|
### black
|
|
259
262
|
|
|
260
|
-
black
|
|
261
|
-
there might be some rework required (from case to case).
|
|
262
|
-
result is quite similar to
|
|
263
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
264
|
-
beside the list reported by pycodestyle (after formatting)
|
|
265
|
-
is a bit longer comparing to
|
|
266
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
267
|
-
what does a better job here.
|
|
263
|
+
[black](https://github.com/psf/black)
|
|
268
264
|
|
|
269
265
|
{
|
|
270
266
|
".py": {
|
|
@@ -278,8 +274,8 @@ what does a better job here.
|
|
|
278
274
|
|
|
279
275
|
### yapf
|
|
280
276
|
|
|
281
|
-
yapf
|
|
282
|
-
|
|
277
|
+
[yapf](https://github.com/google/yapf)
|
|
278
|
+
(google python code formatter).
|
|
283
279
|
|
|
284
280
|
{
|
|
285
281
|
".py": {
|
|
@@ -294,7 +290,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
294
290
|
|
|
295
291
|
## templates for c, c++ formatters
|
|
296
292
|
|
|
297
|
-
all of the following tools are NOT part of `gitonic` standard installation.
|
|
293
|
+
all of the following tools are **NOT** part of `gitonic` standard installation.
|
|
298
294
|
|
|
299
295
|
|
|
300
296
|
### uncrustify
|
|
@@ -517,6 +513,22 @@ for running on linux with xfce.
|
|
|
517
513
|
],
|
|
518
514
|
"workdir": "$GIT",
|
|
519
515
|
"changes-all": [
|
|
516
|
+
{
|
|
517
|
+
"name": "git push $_GIT",
|
|
518
|
+
"para": [
|
|
519
|
+
"git",
|
|
520
|
+
"push"
|
|
521
|
+
],
|
|
522
|
+
"logexpert" : true
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
"name": "git pull $_GIT",
|
|
526
|
+
"para": [
|
|
527
|
+
"git",
|
|
528
|
+
"pull"
|
|
529
|
+
],
|
|
530
|
+
"logexpert" : true
|
|
531
|
+
},
|
|
520
532
|
{
|
|
521
533
|
"name": "gitk $_GIT",
|
|
522
534
|
"para": [
|
|
@@ -609,11 +621,14 @@ to run gitonic use the script from the virtual environment directly
|
|
|
609
621
|
~/gitonic/bin/gitonic
|
|
610
622
|
|
|
611
623
|
|
|
612
|
-
it is recommented to create
|
|
624
|
+
it is recommented to create some alias in `.bash_aliases`.
|
|
613
625
|
add the following line at the end of `.bash_aliases`
|
|
614
626
|
|
|
615
627
|
alias gitonic=~/gitonic/bin/gitonic
|
|
616
628
|
|
|
629
|
+
alias gtcd=~/gitonic/bin/gtcd
|
|
630
|
+
alias gtls=~/gitonic/bin/gtls
|
|
631
|
+
|
|
617
632
|
|
|
618
633
|
## other installation dependencies
|
|
619
634
|
|
|
@@ -662,8 +677,20 @@ add a `.git-credentials` file as described here
|
|
|
662
677
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
663
678
|
|
|
664
679
|
|
|
680
|
+
NOTE: the structure for an entry in `.git-credentials` is as following,
|
|
681
|
+
e.g. for github put a single text line with
|
|
682
|
+
|
|
683
|
+
https://your-user:your-personal-classic-token@github.com
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
NOTE: `github` personal access tokens (classic) are maintained on `github` under:
|
|
687
|
+
|
|
688
|
+
profile > settings > developer settings > personal access tokens > tokens (classic)
|
|
689
|
+
|
|
690
|
+
|
|
665
691
|
add a `.gitconfig` file as described here
|
|
666
692
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
693
|
+
|
|
667
694
|
and configure for diff and merge tools.
|
|
668
695
|
NOTE: you need to install the diff-tool e.g.
|
|
669
696
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -731,6 +758,13 @@ gitonic is released under the following
|
|
|
731
758
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
732
759
|
|
|
733
760
|
|
|
761
|
+
## included components licenses
|
|
762
|
+
|
|
763
|
+
[tkinter-tooktip](https://github.com/gnikit/tkinter-tooltip)
|
|
764
|
+
|
|
765
|
+
[google-material-icons](https://github.com/google/material-design-icons)
|
|
766
|
+
|
|
767
|
+
|
|
734
768
|
# support and donations
|
|
735
769
|
|
|
736
770
|
support the further development of `gitonic` with a donation of your choice.
|
|
@@ -745,6 +779,32 @@ thank you !!!
|
|
|
745
779
|
|
|
746
780
|
|
|
747
781
|
## version v0.19.0 - ????????
|
|
782
|
+
-
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
## version v0.18.5 - 20251207
|
|
786
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
787
|
+
- gitcmd file quoting
|
|
788
|
+
- localhost paramter for single instance
|
|
789
|
+
- git difftool
|
|
790
|
+
- context menu process start
|
|
791
|
+
- rework handling commit clear
|
|
792
|
+
-
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
## version v0.18.4 - 20251207
|
|
796
|
+
- skipped
|
|
797
|
+
-
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
## version v0.18.3 - 20251113
|
|
801
|
+
- fix python version in setup
|
|
802
|
+
-
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
## version v0.18.2 - 20251113
|
|
806
|
+
- check for latest version of gitonic
|
|
807
|
+
- fix #9 for renamed file handling
|
|
748
808
|
-
|
|
749
809
|
|
|
750
810
|
|
|
@@ -753,12 +813,13 @@ thank you !!!
|
|
|
753
813
|
-
|
|
754
814
|
|
|
755
815
|
|
|
756
|
-
## version v0.18.0 - 20251109
|
|
816
|
+
## version v0.18.0 - 20251109 - not available on pypi
|
|
757
817
|
- redesign multi tasking / tk eventloop
|
|
758
818
|
- user interface is now non-blocking
|
|
759
819
|
- multi tasking tested with python 3.12
|
|
760
820
|
- **not yet tested** with python 3.13 / 3.14
|
|
761
|
-
- `gitonic` is released for python3.12 (fixed version)
|
|
821
|
+
- `gitonic` is released for **python3.12 (fixed version)**
|
|
822
|
+
- open issue [free threading](https://github.com/kr-g/gitonic/issues/8)
|
|
762
823
|
- current implementation uses threads to fork `git` processes in the background
|
|
763
824
|
- the main tk eventloop receives the thread results and process this in callbacks
|
|
764
825
|
- read here for detailed information [`tk eventloop`](https://tkdocs.com/tutorial/eventloop.html))
|
|
@@ -773,9 +834,9 @@ thank you !!!
|
|
|
773
834
|
- filter log for each repo
|
|
774
835
|
- codebase refactored
|
|
775
836
|
- new commandline tools (UNDER CONTSRUCTION - not yet final - dont expect anything!!! - this might be dropped in the future)
|
|
776
|
-
- `gtcd.py`
|
|
837
|
+
- `gtcd.py` alias `gtcd`
|
|
777
838
|
- opens a new terminal for a git repo quickly
|
|
778
|
-
- `gtls.py`
|
|
839
|
+
- `gtls.py` alias `gtls`
|
|
779
840
|
- list all changes for all tracked git repo
|
|
780
841
|
-
|
|
781
842
|
|
|
@@ -975,7 +1036,7 @@ thank you !!!
|
|
|
975
1036
|
- settings tabs
|
|
976
1037
|
- check for installed git
|
|
977
1038
|
- ~~git exe configuration in settings~~
|
|
978
|
-
- check for latest version of gitonic
|
|
1039
|
+
- ~~check for latest version of gitonic~~
|
|
979
1040
|
-
|
|
980
1041
|
- ~~config file for last known config~~
|
|
981
1042
|
- ~~diff-tool blocks main screen (see next)~~
|
|
@@ -1018,7 +1079,7 @@ thank you !!!
|
|
|
1018
1079
|
- less sensitive (disappears to quickly)
|
|
1019
1080
|
- multiple row feature
|
|
1020
1081
|
- splash screen
|
|
1021
|
-
- new version notification
|
|
1082
|
+
- ~~new version notification ~~
|
|
1022
1083
|
-
|
|
1023
1084
|
|
|
1024
1085
|
|
|
@@ -29,12 +29,12 @@ gitonic/core/const.py
|
|
|
29
29
|
gitonic/core/dataflow.py
|
|
30
30
|
gitonic/core/file.py
|
|
31
31
|
gitonic/core/gitcmd.py
|
|
32
|
+
gitonic/core/githubver.py
|
|
32
33
|
gitonic/core/gitobj.py
|
|
33
34
|
gitonic/core/giton.py
|
|
34
35
|
gitonic/core/gitonapp.py
|
|
35
36
|
gitonic/core/gitutil.py
|
|
36
37
|
gitonic/core/logs.py
|
|
37
|
-
gitonic/core/ncur.py
|
|
38
38
|
gitonic/core/proc.py
|
|
39
39
|
gitonic/core/runr.py
|
|
40
40
|
gitonic/core/sysutil.py
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
|
|
3
|
-
import curses
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def main(stdscr):
|
|
7
|
-
while True:
|
|
8
|
-
|
|
9
|
-
key = stdscr.getch()
|
|
10
|
-
|
|
11
|
-
if key == ord('q'):
|
|
12
|
-
break # quit app
|
|
13
|
-
|
|
14
|
-
elif key == curses.KEY_UP:
|
|
15
|
-
stdscr.addstr(0, 0, "UP ") # print feedback
|
|
16
|
-
|
|
17
|
-
elif key == curses.KEY_DOWN:
|
|
18
|
-
stdscr.addstr(1, 0, "DOWN")
|
|
19
|
-
|
|
20
|
-
stdscr.refresh()
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if __name__ == "__main__":
|
|
24
|
-
curses.wrapper(main)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|