gitonic 0.18.3__tar.gz → 0.18.6__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.3 → gitonic-0.18.6}/CHANGELOG.md +14 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/PKG-INFO +40 -13
- {gitonic-0.18.3 → gitonic-0.18.6}/README.md +24 -12
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/conf.py +1 -1
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/const.py +1 -1
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/gitcmd.py +5 -3
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/githubver.py +20 -4
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/gitobj.py +35 -24
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/giton.py +8 -1
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/gitonic.py +8 -2
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/singleinstance.py +7 -2
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/PKG-INFO +40 -13
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/requires.txt +1 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/setup.py +1 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/BACKLOG.md +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/LICENSE.md +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/MANIFEST.in +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/git-alt.svg +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/git-black.svg +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/git-red.svg +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/git-white.svg +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/__init__.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/__main__.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/__init__.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/configs.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/dataflow.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/file.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/gitonapp.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/gitutil.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/logs.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/proc.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/runr.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/sysutil.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/core/task.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/gtcd.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/gtcommon.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/gtls.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/__init__.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/icons.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts/LICENSE +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.codepoints +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.codepoints +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/material_fonts.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/otherdeps/LICENSE-gitonic +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/otherdeps/LICENSE-tktootip +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/tkuiapp.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/tkuicore.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/tkuiview.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic/tkui/tkuiwidg.py +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/SOURCES.txt +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/dependency_links.txt +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/entry_points.txt +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/gitonic.egg-info/top_level.txt +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/pyproject.toml +0 -0
- {gitonic-0.18.3 → gitonic-0.18.6}/setup.cfg +0 -0
|
@@ -6,6 +6,20 @@
|
|
|
6
6
|
-
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## version v0.18.6 - ????????
|
|
10
|
+
-
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## version v0.18.5 - 20251207
|
|
14
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
15
|
+
- gitcmd file quoting
|
|
16
|
+
- localhost paramter for single instance
|
|
17
|
+
- git difftool
|
|
18
|
+
- context menu process start
|
|
19
|
+
- rework handling commit clear
|
|
20
|
+
-
|
|
21
|
+
|
|
22
|
+
|
|
9
23
|
## version v0.18.3 - 20251113
|
|
10
24
|
- fix python version in setup
|
|
11
25
|
-
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitonic
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.6
|
|
4
4
|
Summary: manage a multi git workspace
|
|
5
5
|
Home-page: https://github.com/kr-g/gitonic
|
|
6
6
|
Author: k. goger
|
|
@@ -21,6 +21,7 @@ License-File: LICENSE.md
|
|
|
21
21
|
Requires-Dist: pillow
|
|
22
22
|
Requires-Dist: tkinter-tooltip
|
|
23
23
|
Requires-Dist: semver
|
|
24
|
+
Requires-Dist: urllib3
|
|
24
25
|
Provides-Extra: pep08
|
|
25
26
|
Requires-Dist: pycodestyle; extra == "pep08"
|
|
26
27
|
Requires-Dist: flake8; extra == "pep08"
|
|
@@ -52,7 +53,7 @@ Dynamic: requires-python
|
|
|
52
53
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
53
54
|
|
|
54
55
|
|
|
55
|
-
you are reading VERSION = v0.18.
|
|
56
|
+
you are reading VERSION = v0.18.6
|
|
56
57
|
|
|
57
58
|
version v0.18.0 will come with some bigger changes.
|
|
58
59
|
|
|
@@ -259,14 +260,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
259
260
|
|
|
260
261
|
### black
|
|
261
262
|
|
|
262
|
-
black
|
|
263
|
-
there might be some rework required (from case to case).
|
|
264
|
-
result is quite similar to
|
|
265
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
266
|
-
beside the list reported by pycodestyle (after formatting)
|
|
267
|
-
is a bit longer comparing to
|
|
268
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
269
|
-
what does a better job here.
|
|
263
|
+
[black](https://github.com/psf/black)
|
|
270
264
|
|
|
271
265
|
{
|
|
272
266
|
".py": {
|
|
@@ -280,8 +274,8 @@ what does a better job here.
|
|
|
280
274
|
|
|
281
275
|
### yapf
|
|
282
276
|
|
|
283
|
-
yapf
|
|
284
|
-
|
|
277
|
+
[yapf](https://github.com/google/yapf)
|
|
278
|
+
(google python code formatter).
|
|
285
279
|
|
|
286
280
|
{
|
|
287
281
|
".py": {
|
|
@@ -296,7 +290,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
296
290
|
|
|
297
291
|
## templates for c, c++ formatters
|
|
298
292
|
|
|
299
|
-
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.
|
|
300
294
|
|
|
301
295
|
|
|
302
296
|
### uncrustify
|
|
@@ -683,8 +677,20 @@ add a `.git-credentials` file as described here
|
|
|
683
677
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
684
678
|
|
|
685
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
|
+
|
|
686
691
|
add a `.gitconfig` file as described here
|
|
687
692
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
693
|
+
|
|
688
694
|
and configure for diff and merge tools.
|
|
689
695
|
NOTE: you need to install the diff-tool e.g.
|
|
690
696
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -752,6 +758,13 @@ gitonic is released under the following
|
|
|
752
758
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
753
759
|
|
|
754
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
|
+
|
|
755
768
|
# support and donations
|
|
756
769
|
|
|
757
770
|
support the further development of `gitonic` with a donation of your choice.
|
|
@@ -769,6 +782,20 @@ thank you !!!
|
|
|
769
782
|
-
|
|
770
783
|
|
|
771
784
|
|
|
785
|
+
## version v0.18.6 - ????????
|
|
786
|
+
-
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
## version v0.18.5 - 20251207
|
|
790
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
791
|
+
- gitcmd file quoting
|
|
792
|
+
- localhost paramter for single instance
|
|
793
|
+
- git difftool
|
|
794
|
+
- context menu process start
|
|
795
|
+
- rework handling commit clear
|
|
796
|
+
-
|
|
797
|
+
|
|
798
|
+
|
|
772
799
|
## version v0.18.3 - 20251113
|
|
773
800
|
- fix python version in setup
|
|
774
801
|
-
|
|
@@ -1,7 +1,7 @@
|
|
|
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.6
|
|
5
5
|
|
|
6
6
|
version v0.18.0 will come with some bigger changes.
|
|
7
7
|
|
|
@@ -208,14 +208,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
208
208
|
|
|
209
209
|
### black
|
|
210
210
|
|
|
211
|
-
black
|
|
212
|
-
there might be some rework required (from case to case).
|
|
213
|
-
result is quite similar to
|
|
214
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
215
|
-
beside the list reported by pycodestyle (after formatting)
|
|
216
|
-
is a bit longer comparing to
|
|
217
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
218
|
-
what does a better job here.
|
|
211
|
+
[black](https://github.com/psf/black)
|
|
219
212
|
|
|
220
213
|
{
|
|
221
214
|
".py": {
|
|
@@ -229,8 +222,8 @@ what does a better job here.
|
|
|
229
222
|
|
|
230
223
|
### yapf
|
|
231
224
|
|
|
232
|
-
yapf
|
|
233
|
-
|
|
225
|
+
[yapf](https://github.com/google/yapf)
|
|
226
|
+
(google python code formatter).
|
|
234
227
|
|
|
235
228
|
{
|
|
236
229
|
".py": {
|
|
@@ -245,7 +238,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
245
238
|
|
|
246
239
|
## templates for c, c++ formatters
|
|
247
240
|
|
|
248
|
-
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.
|
|
249
242
|
|
|
250
243
|
|
|
251
244
|
### uncrustify
|
|
@@ -632,8 +625,20 @@ add a `.git-credentials` file as described here
|
|
|
632
625
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
633
626
|
|
|
634
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
|
+
|
|
635
639
|
add a `.gitconfig` file as described here
|
|
636
640
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
641
|
+
|
|
637
642
|
and configure for diff and merge tools.
|
|
638
643
|
NOTE: you need to install the diff-tool e.g.
|
|
639
644
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -701,6 +706,13 @@ gitonic is released under the following
|
|
|
701
706
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
702
707
|
|
|
703
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
|
+
|
|
704
716
|
# support and donations
|
|
705
717
|
|
|
706
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
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from const import VERSION
|
|
2
2
|
|
|
3
|
+
import sys
|
|
3
4
|
import semver
|
|
4
5
|
from urllib3 import request
|
|
5
6
|
|
|
@@ -17,23 +18,38 @@ def check_github_new_version():
|
|
|
17
18
|
except Exception as ex:
|
|
18
19
|
return None, ex
|
|
19
20
|
|
|
20
|
-
verslist_published = list(map(lambda x: mkver(x[
|
|
21
|
+
verslist_published = list(map(lambda x: mkver(x["name"]), res.json()))
|
|
21
22
|
|
|
22
23
|
verlist_published = list(
|
|
23
|
-
map(lambda x: semver.Version.parse(x), verslist_published)
|
|
24
|
+
map(lambda x: semver.Version.parse(x), verslist_published)
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
infover = list(
|
|
28
|
+
map(lambda x: [x.major, x.minor, x.patch], verlist_published)
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
print("pubished versions", infover, file=sys.stderr)
|
|
24
32
|
|
|
25
33
|
latest_published = max(verlist_published)
|
|
26
34
|
|
|
35
|
+
print("latest version", latest_published, file=sys.stderr)
|
|
36
|
+
|
|
27
37
|
version_current = semver.Version.parse(mkver(VERSION))
|
|
28
38
|
|
|
39
|
+
print("version_current version", version_current, file=sys.stderr)
|
|
40
|
+
|
|
29
41
|
if version_current < latest_published:
|
|
30
42
|
return latest_published, None
|
|
31
43
|
|
|
44
|
+
print("no new version available", file=sys.stderr)
|
|
45
|
+
|
|
32
46
|
return None, None
|
|
33
47
|
|
|
34
48
|
|
|
35
49
|
if __name__ == "__main__":
|
|
36
50
|
latest_published, ex = check_github_new_version()
|
|
37
51
|
if latest_published:
|
|
38
|
-
print(
|
|
39
|
-
|
|
52
|
+
print(
|
|
53
|
+
f"you are using gitonic {
|
|
54
|
+
VERSION}. there is a new version available {latest_published}"
|
|
55
|
+
)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
(c) 2021-2025 K. Goger - https://github.com/kr-g
|
|
3
|
+
legal: https://github.com/kr-g/gitonic/blob/main/LICENSE.md
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
6
|
from const import GITIGNORE
|
|
7
7
|
from file import FileStat
|
|
8
|
+
|
|
8
9
|
# from .sysutil import platform_windows
|
|
9
10
|
|
|
10
11
|
#
|
|
@@ -27,7 +28,9 @@ class GitBranch(object):
|
|
|
27
28
|
return self
|
|
28
29
|
|
|
29
30
|
def __repr__(self):
|
|
30
|
-
return
|
|
31
|
+
return (
|
|
32
|
+
f"{self.__class__.__name__}('{self.current}', '{str(self.bnam)}' )"
|
|
33
|
+
)
|
|
31
34
|
|
|
32
35
|
|
|
33
36
|
class GitStatus(object):
|
|
@@ -41,25 +44,33 @@ class GitStatus(object):
|
|
|
41
44
|
|
|
42
45
|
self.mode = mode.upper() if mode else ""
|
|
43
46
|
self.staged = staged.upper() if staged else ""
|
|
47
|
+
|
|
48
|
+
if file:
|
|
49
|
+
if file.startswith('"') and file.endswith('"'):
|
|
50
|
+
file = file[1:-1]
|
|
51
|
+
elif file.startswith("'") and file.endswith("'"):
|
|
52
|
+
file = file[1:-1]
|
|
53
|
+
|
|
44
54
|
self.file = file
|
|
45
|
-
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
# ("
|
|
50
|
-
# ("
|
|
51
|
-
# ("
|
|
52
|
-
# ("
|
|
53
|
-
# ("
|
|
54
|
-
# ("
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
# self.
|
|
58
|
-
# self.
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
# self.
|
|
62
|
-
# self.
|
|
55
|
+
|
|
56
|
+
# self.state = {}
|
|
57
|
+
#
|
|
58
|
+
# for s, fc in [
|
|
59
|
+
# ("M", "modified"),
|
|
60
|
+
# ("A", "added"),
|
|
61
|
+
# ("D", "deleted"),
|
|
62
|
+
# ("R", "renamed"),
|
|
63
|
+
# ("C", "copied"),
|
|
64
|
+
# ("U", "updated_but_unmerged"),
|
|
65
|
+
# ("??", "not_in_git"),
|
|
66
|
+
# ]:
|
|
67
|
+
# comb = {f"is_{fc}": self.mode.find(s) >= 0}
|
|
68
|
+
# self.state.update(comb)
|
|
69
|
+
# self.__dict__.update(comb)
|
|
70
|
+
#
|
|
71
|
+
# comb = {f"is_staged_{fc}": self.staged.find(s) >= 0}
|
|
72
|
+
# self.state.update(comb)
|
|
73
|
+
# self.__dict__.update(comb)
|
|
63
74
|
|
|
64
75
|
return self
|
|
65
76
|
|
|
@@ -156,9 +167,9 @@ class GitWorkspace(object):
|
|
|
156
167
|
self.gits[path] = git
|
|
157
168
|
return self
|
|
158
169
|
|
|
159
|
-
# def refresh_status(self):
|
|
160
|
-
# for _, git in self.gits.items():
|
|
161
|
-
# git.refresh_status()
|
|
170
|
+
# def refresh_status(self):
|
|
171
|
+
# for _, git in self.gits.items():
|
|
172
|
+
# git.refresh_status()
|
|
162
173
|
|
|
163
174
|
def find(self, search_str):
|
|
164
175
|
return list(
|
|
@@ -409,7 +409,14 @@ class GitonicCmdIt(object):
|
|
|
409
409
|
# run unattached
|
|
410
410
|
|
|
411
411
|
args = [get_git_exe(), "difftool", file.file.file]
|
|
412
|
-
|
|
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)
|
|
413
420
|
|
|
414
421
|
logex.info("difftool_files_task_it started", args)
|
|
415
422
|
|
|
@@ -1014,8 +1014,11 @@ def load_and_set_context_settings(sect, ctxmenu, gnam_dir, fnam_dir, fnam):
|
|
|
1014
1014
|
logex.info("run command", *args)
|
|
1015
1015
|
|
|
1016
1016
|
with PushDir(workdir):
|
|
1017
|
-
|
|
1018
|
-
|
|
1017
|
+
|
|
1018
|
+
# todo
|
|
1019
|
+
import subprocess
|
|
1020
|
+
rc = subprocess.Popen(args)
|
|
1021
|
+
|
|
1019
1022
|
logex.info("call result", rc)
|
|
1020
1023
|
|
|
1021
1024
|
return _runner
|
|
@@ -1114,6 +1117,9 @@ def main_func():
|
|
|
1114
1117
|
ui_app.pane_commit.msg_cb.set_val(msgshort)
|
|
1115
1118
|
ui_app.pane_commit.msg_text.set_val(msglong)
|
|
1116
1119
|
|
|
1120
|
+
if ui_app.pane_commit.clrcommit_ck.get_val():
|
|
1121
|
+
commit_clear()
|
|
1122
|
+
|
|
1117
1123
|
# log
|
|
1118
1124
|
|
|
1119
1125
|
ui_app.pane_log.repos.on_click = on_filter_log_repo
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitonic
|
|
3
|
-
Version: 0.18.
|
|
3
|
+
Version: 0.18.6
|
|
4
4
|
Summary: manage a multi git workspace
|
|
5
5
|
Home-page: https://github.com/kr-g/gitonic
|
|
6
6
|
Author: k. goger
|
|
@@ -21,6 +21,7 @@ License-File: LICENSE.md
|
|
|
21
21
|
Requires-Dist: pillow
|
|
22
22
|
Requires-Dist: tkinter-tooltip
|
|
23
23
|
Requires-Dist: semver
|
|
24
|
+
Requires-Dist: urllib3
|
|
24
25
|
Provides-Extra: pep08
|
|
25
26
|
Requires-Dist: pycodestyle; extra == "pep08"
|
|
26
27
|
Requires-Dist: flake8; extra == "pep08"
|
|
@@ -52,7 +53,7 @@ Dynamic: requires-python
|
|
|
52
53
|
[](https://www.python.org/dev/peps/pep-0008/)
|
|
53
54
|
|
|
54
55
|
|
|
55
|
-
you are reading VERSION = v0.18.
|
|
56
|
+
you are reading VERSION = v0.18.6
|
|
56
57
|
|
|
57
58
|
version v0.18.0 will come with some bigger changes.
|
|
58
59
|
|
|
@@ -259,14 +260,7 @@ or in case autopep8 is installed in a venv, e.g.
|
|
|
259
260
|
|
|
260
261
|
### black
|
|
261
262
|
|
|
262
|
-
black
|
|
263
|
-
there might be some rework required (from case to case).
|
|
264
|
-
result is quite similar to
|
|
265
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
266
|
-
beside the list reported by pycodestyle (after formatting)
|
|
267
|
-
is a bit longer comparing to
|
|
268
|
-
[autopep8](https://github.com/hhatto/autopep8)
|
|
269
|
-
what does a better job here.
|
|
263
|
+
[black](https://github.com/psf/black)
|
|
270
264
|
|
|
271
265
|
{
|
|
272
266
|
".py": {
|
|
@@ -280,8 +274,8 @@ what does a better job here.
|
|
|
280
274
|
|
|
281
275
|
### yapf
|
|
282
276
|
|
|
283
|
-
yapf
|
|
284
|
-
|
|
277
|
+
[yapf](https://github.com/google/yapf)
|
|
278
|
+
(google python code formatter).
|
|
285
279
|
|
|
286
280
|
{
|
|
287
281
|
".py": {
|
|
@@ -296,7 +290,7 @@ that it is reported as error by pycodestyle after formatting.
|
|
|
296
290
|
|
|
297
291
|
## templates for c, c++ formatters
|
|
298
292
|
|
|
299
|
-
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.
|
|
300
294
|
|
|
301
295
|
|
|
302
296
|
### uncrustify
|
|
@@ -683,8 +677,20 @@ add a `.git-credentials` file as described here
|
|
|
683
677
|
[`git-credentials`](https://git-scm.com/docs/git-credential-store)
|
|
684
678
|
|
|
685
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
|
+
|
|
686
691
|
add a `.gitconfig` file as described here
|
|
687
692
|
[`git-config`](https://git-scm.com/docs/git-config)
|
|
693
|
+
|
|
688
694
|
and configure for diff and merge tools.
|
|
689
695
|
NOTE: you need to install the diff-tool e.g.
|
|
690
696
|
[`meld merge`](https://meldmerge.org/) manually,
|
|
@@ -752,6 +758,13 @@ gitonic is released under the following
|
|
|
752
758
|
git logos from [git-scm](https://git-scm.com/downloads/logos)
|
|
753
759
|
|
|
754
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
|
+
|
|
755
768
|
# support and donations
|
|
756
769
|
|
|
757
770
|
support the further development of `gitonic` with a donation of your choice.
|
|
@@ -769,6 +782,20 @@ thank you !!!
|
|
|
769
782
|
-
|
|
770
783
|
|
|
771
784
|
|
|
785
|
+
## version v0.18.6 - ????????
|
|
786
|
+
-
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
## version v0.18.5 - 20251207
|
|
790
|
+
- fixes for windows platform (looking for contributors on windows platform !!!)
|
|
791
|
+
- gitcmd file quoting
|
|
792
|
+
- localhost paramter for single instance
|
|
793
|
+
- git difftool
|
|
794
|
+
- context menu process start
|
|
795
|
+
- rework handling commit clear
|
|
796
|
+
-
|
|
797
|
+
|
|
798
|
+
|
|
772
799
|
## version v0.18.3 - 20251113
|
|
773
800
|
- fix python version in setup
|
|
774
801
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|