skilleter-thingy 0.0.91__tar.gz → 0.0.93__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.
Potentially problematic release.
This version of skilleter-thingy might be problematic. Click here for more details.
- {skilleter_thingy-0.0.91/skilleter_thingy.egg-info → skilleter_thingy-0.0.93}/PKG-INFO +34 -27
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/README.md +32 -26
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/pyproject.toml +2 -2
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/docker_purge.py +5 -5
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/ggit.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/ggrep.py +11 -11
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_br.py +2 -2
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_ca.py +7 -7
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_cleanup.py +5 -5
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_co.py +5 -5
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_mr.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_parent.py +2 -2
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_review.py +4 -4
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_update.py +16 -16
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/linecount.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/moviemover.py +3 -3
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/multigit.py +9 -6
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/phototidier.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/readable.py +1 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/remdir.py +3 -3
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/strreplace.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/trimpath.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/xchmod.py +1 -1
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93/skilleter_thingy.egg-info}/PKG-INFO +34 -27
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/requires.txt +1 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/LICENSE +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/setup.cfg +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/addpath.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/borger.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/box.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/console_colours.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/diskspacecheck.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/ffind.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_common.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_hold.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/git_wt.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/gitcmp_helper.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/gitprompt.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/gl.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/gphotosync.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/photodupe.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/py_audit.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/rmdupe.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/rpylint.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/splitpics.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/sysmon.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/tfm.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/tfparse.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/colour.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/dc_curses.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/dc_defaults.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/dc_util.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/dircolors.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/docker.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/files.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/git.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/git2.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/gitlab.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/path.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/popup.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/process.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/run.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/tfm_pane.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/tidy.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/venv_template.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/venv_create.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/window_rename.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/yamlcheck.py +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/SOURCES.txt +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/entry_points.txt +0 -0
- {skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: skilleter_thingy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.93
|
|
4
4
|
Summary: A collection of useful utilities, mainly aimed at making Git more friendly
|
|
5
5
|
Author-email: John Skilleter <john@skilleter.org.uk>
|
|
6
6
|
Project-URL: Home, https://skilleter.org.uk
|
|
@@ -18,6 +18,7 @@ Requires-Dist: pyaml
|
|
|
18
18
|
Requires-Dist: pygit2
|
|
19
19
|
Requires-Dist: python-dateutil
|
|
20
20
|
Requires-Dist: requests
|
|
21
|
+
Requires-Dist: filetype
|
|
21
22
|
|
|
22
23
|
# Thingy
|
|
23
24
|
|
|
@@ -49,7 +50,9 @@ The multigit command line format is:
|
|
|
49
50
|
|
|
50
51
|
Where COMMAND is an internal multigit command if it starts with a '+' and is a git command otherwise.
|
|
51
52
|
|
|
52
|
-
By default, when
|
|
53
|
+
By default, when multigit is invoked with a git command, it runs a the command in each of the working trees selected by the command line options passed to multigit (if no options are specified then the command is run in all the working trees.
|
|
54
|
+
|
|
55
|
+
The command takes a number of options that can be used to select the list of working trees that each of the subcommands that it supports runs in:
|
|
53
56
|
|
|
54
57
|
*--repos / -r* Allows a list of working trees to be specfied, either as the full or relative path, the name or a wildcard.
|
|
55
58
|
|
|
@@ -57,11 +60,11 @@ By default, when a multigit command, other than `init` is run, it runs a git com
|
|
|
57
60
|
|
|
58
61
|
*--branched / -b* Run only working trees where the current branch that is checked out is NOT the default branch
|
|
59
62
|
|
|
60
|
-
Multigit supports a small list of subcommands:
|
|
63
|
+
Multigit supports a small list of subcommands, each of which are prefixed with a `+` to distinguish them from Git commands:
|
|
61
64
|
|
|
62
65
|
*+init* - Create or update the configuration file
|
|
63
66
|
|
|
64
|
-
*+dir* - Given the name of a working tree,
|
|
67
|
+
*+dir* - Given the name of a working tree, output the location within the multigit tree of that working tree if the name matches uniquely, or the name of the directory where the multigit configuration file resides if no parameter is specified.
|
|
65
68
|
|
|
66
69
|
*+config* - Print the name and location of the multigit configuration file.
|
|
67
70
|
|
|
@@ -69,23 +72,17 @@ Any command not prefixed with '+' is run in each of the working trees (filtered
|
|
|
69
72
|
|
|
70
73
|
For example; `multigit -m commit -ab` would run `git commit -a` in each of the working trees that is branched and contains modified files.
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
## ggit
|
|
75
|
-
|
|
76
|
-
Run a git command in all working trees under the current directory (note that this is not related to multigit).
|
|
75
|
+
The `+dir` command can be used with shell aliases (or their equivalent in the user's shell of choice) to create an alias to run, for example, `cd (multigit +dir "$@")` (Bash) or `cd (multigit +dir $argv)` (for the Fish shell) that would cd to the top level direcory.
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
Run 'git grep' in all repos under the current directory (note that this is not related to multigit).
|
|
77
|
+
# Miscellaneous Git Utilities
|
|
81
78
|
|
|
82
79
|
## gitprompt
|
|
83
80
|
|
|
84
|
-
Output a string containing colour-coded shell nesting level, current directory and git working tree status (used in the shell prompt).
|
|
81
|
+
Output a string containing colour-coded shell nesting level, current directory and git working tree status (intended to be used in the shell prompt).
|
|
85
82
|
|
|
86
83
|
# Git Extensions
|
|
87
84
|
|
|
88
|
-
Due to the way that the git command works, these can be run as they were additional git subcommands
|
|
85
|
+
Due to the way that the git command works, these can be run as they were additional git subcommands.
|
|
89
86
|
|
|
90
87
|
## git ca
|
|
91
88
|
|
|
@@ -115,16 +112,6 @@ Output the top level directory of the git working tree or return an error if we
|
|
|
115
112
|
|
|
116
113
|
Console-based git change review tool.
|
|
117
114
|
|
|
118
|
-
## GitLab Commands
|
|
119
|
-
|
|
120
|
-
### git mr
|
|
121
|
-
|
|
122
|
-
Push a feature branch to GitLab and create a merge request
|
|
123
|
-
|
|
124
|
-
### gl
|
|
125
|
-
|
|
126
|
-
Command line for GitLab
|
|
127
|
-
|
|
128
115
|
# General Commands
|
|
129
116
|
|
|
130
117
|
## addpath
|
|
@@ -137,9 +124,7 @@ Stop or kill docker instances and/or remove docker images.
|
|
|
137
124
|
|
|
138
125
|
## ffind
|
|
139
126
|
|
|
140
|
-
Simple file find utility
|
|
141
|
-
|
|
142
|
-
Implements the functionality of the find command that is regularly used in a simpler fashion and ignores all the options that nobody ever uses.
|
|
127
|
+
Simple file find utility - replaces the `find` command with something that is more human-friendly.
|
|
143
128
|
|
|
144
129
|
## linecount
|
|
145
130
|
|
|
@@ -251,3 +236,25 @@ Simple console system monitor
|
|
|
251
236
|
## window-rename
|
|
252
237
|
|
|
253
238
|
Monitor window titles and rename them to fit an alphabetical grouping in 'Appname - Document' format.
|
|
239
|
+
|
|
240
|
+
# Obsolescent Commands
|
|
241
|
+
|
|
242
|
+
These commands will probably be retired in future versions of Thingy
|
|
243
|
+
|
|
244
|
+
## ggit
|
|
245
|
+
|
|
246
|
+
Run a git command in all working trees under the current directory (superceded by multigit).
|
|
247
|
+
|
|
248
|
+
## ggrep
|
|
249
|
+
|
|
250
|
+
Run 'git grep' in all repos under the current directory (superceded by multigit).
|
|
251
|
+
|
|
252
|
+
## GitLab Commands
|
|
253
|
+
|
|
254
|
+
### git mr
|
|
255
|
+
|
|
256
|
+
Push a feature branch to GitLab and create a merge request
|
|
257
|
+
|
|
258
|
+
### gl
|
|
259
|
+
|
|
260
|
+
Command line for GitLab
|
|
@@ -28,7 +28,9 @@ The multigit command line format is:
|
|
|
28
28
|
|
|
29
29
|
Where COMMAND is an internal multigit command if it starts with a '+' and is a git command otherwise.
|
|
30
30
|
|
|
31
|
-
By default, when
|
|
31
|
+
By default, when multigit is invoked with a git command, it runs a the command in each of the working trees selected by the command line options passed to multigit (if no options are specified then the command is run in all the working trees.
|
|
32
|
+
|
|
33
|
+
The command takes a number of options that can be used to select the list of working trees that each of the subcommands that it supports runs in:
|
|
32
34
|
|
|
33
35
|
*--repos / -r* Allows a list of working trees to be specfied, either as the full or relative path, the name or a wildcard.
|
|
34
36
|
|
|
@@ -36,11 +38,11 @@ By default, when a multigit command, other than `init` is run, it runs a git com
|
|
|
36
38
|
|
|
37
39
|
*--branched / -b* Run only working trees where the current branch that is checked out is NOT the default branch
|
|
38
40
|
|
|
39
|
-
Multigit supports a small list of subcommands:
|
|
41
|
+
Multigit supports a small list of subcommands, each of which are prefixed with a `+` to distinguish them from Git commands:
|
|
40
42
|
|
|
41
43
|
*+init* - Create or update the configuration file
|
|
42
44
|
|
|
43
|
-
*+dir* - Given the name of a working tree,
|
|
45
|
+
*+dir* - Given the name of a working tree, output the location within the multigit tree of that working tree if the name matches uniquely, or the name of the directory where the multigit configuration file resides if no parameter is specified.
|
|
44
46
|
|
|
45
47
|
*+config* - Print the name and location of the multigit configuration file.
|
|
46
48
|
|
|
@@ -48,23 +50,17 @@ Any command not prefixed with '+' is run in each of the working trees (filtered
|
|
|
48
50
|
|
|
49
51
|
For example; `multigit -m commit -ab` would run `git commit -a` in each of the working trees that is branched and contains modified files.
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## ggit
|
|
54
|
-
|
|
55
|
-
Run a git command in all working trees under the current directory (note that this is not related to multigit).
|
|
53
|
+
The `+dir` command can be used with shell aliases (or their equivalent in the user's shell of choice) to create an alias to run, for example, `cd (multigit +dir "$@")` (Bash) or `cd (multigit +dir $argv)` (for the Fish shell) that would cd to the top level direcory.
|
|
56
54
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Run 'git grep' in all repos under the current directory (note that this is not related to multigit).
|
|
55
|
+
# Miscellaneous Git Utilities
|
|
60
56
|
|
|
61
57
|
## gitprompt
|
|
62
58
|
|
|
63
|
-
Output a string containing colour-coded shell nesting level, current directory and git working tree status (used in the shell prompt).
|
|
59
|
+
Output a string containing colour-coded shell nesting level, current directory and git working tree status (intended to be used in the shell prompt).
|
|
64
60
|
|
|
65
61
|
# Git Extensions
|
|
66
62
|
|
|
67
|
-
Due to the way that the git command works, these can be run as they were additional git subcommands
|
|
63
|
+
Due to the way that the git command works, these can be run as they were additional git subcommands.
|
|
68
64
|
|
|
69
65
|
## git ca
|
|
70
66
|
|
|
@@ -94,16 +90,6 @@ Output the top level directory of the git working tree or return an error if we
|
|
|
94
90
|
|
|
95
91
|
Console-based git change review tool.
|
|
96
92
|
|
|
97
|
-
## GitLab Commands
|
|
98
|
-
|
|
99
|
-
### git mr
|
|
100
|
-
|
|
101
|
-
Push a feature branch to GitLab and create a merge request
|
|
102
|
-
|
|
103
|
-
### gl
|
|
104
|
-
|
|
105
|
-
Command line for GitLab
|
|
106
|
-
|
|
107
93
|
# General Commands
|
|
108
94
|
|
|
109
95
|
## addpath
|
|
@@ -116,9 +102,7 @@ Stop or kill docker instances and/or remove docker images.
|
|
|
116
102
|
|
|
117
103
|
## ffind
|
|
118
104
|
|
|
119
|
-
Simple file find utility
|
|
120
|
-
|
|
121
|
-
Implements the functionality of the find command that is regularly used in a simpler fashion and ignores all the options that nobody ever uses.
|
|
105
|
+
Simple file find utility - replaces the `find` command with something that is more human-friendly.
|
|
122
106
|
|
|
123
107
|
## linecount
|
|
124
108
|
|
|
@@ -230,3 +214,25 @@ Simple console system monitor
|
|
|
230
214
|
## window-rename
|
|
231
215
|
|
|
232
216
|
Monitor window titles and rename them to fit an alphabetical grouping in 'Appname - Document' format.
|
|
217
|
+
|
|
218
|
+
# Obsolescent Commands
|
|
219
|
+
|
|
220
|
+
These commands will probably be retired in future versions of Thingy
|
|
221
|
+
|
|
222
|
+
## ggit
|
|
223
|
+
|
|
224
|
+
Run a git command in all working trees under the current directory (superceded by multigit).
|
|
225
|
+
|
|
226
|
+
## ggrep
|
|
227
|
+
|
|
228
|
+
Run 'git grep' in all repos under the current directory (superceded by multigit).
|
|
229
|
+
|
|
230
|
+
## GitLab Commands
|
|
231
|
+
|
|
232
|
+
### git mr
|
|
233
|
+
|
|
234
|
+
Push a feature branch to GitLab and create a merge request
|
|
235
|
+
|
|
236
|
+
### gl
|
|
237
|
+
|
|
238
|
+
Command line for GitLab
|
|
@@ -7,7 +7,7 @@ name = "skilleter_thingy"
|
|
|
7
7
|
|
|
8
8
|
# Version must be incremented to install updated Thingy
|
|
9
9
|
|
|
10
|
-
version = "0.0.
|
|
10
|
+
version = "0.0.93"
|
|
11
11
|
|
|
12
12
|
authors = [
|
|
13
13
|
{name="John Skilleter", email="john@skilleter.org.uk"},
|
|
@@ -34,7 +34,7 @@ dependencies = [
|
|
|
34
34
|
"pygit2",
|
|
35
35
|
"python-dateutil",
|
|
36
36
|
"requests",
|
|
37
|
-
|
|
37
|
+
"filetype",
|
|
38
38
|
]
|
|
39
39
|
|
|
40
40
|
[project.urls]
|
|
@@ -23,11 +23,11 @@ def initialise():
|
|
|
23
23
|
|
|
24
24
|
parser = argparse.ArgumentParser(description='Purge docker instances and images')
|
|
25
25
|
|
|
26
|
-
parser.add_argument('
|
|
27
|
-
parser.add_argument('
|
|
28
|
-
parser.add_argument('
|
|
29
|
-
parser.add_argument('
|
|
30
|
-
parser.add_argument('
|
|
26
|
+
parser.add_argument('--stop', '-s', action='store_true', help='Stop Docker instances')
|
|
27
|
+
parser.add_argument('--kill', '-k', action='store_true', help='Kill Docker instances')
|
|
28
|
+
parser.add_argument('--remove', '-r', action='store_true', help='Remove Docker images')
|
|
29
|
+
parser.add_argument('--list', '-l', action='store_true', help='List what would be done without doing it')
|
|
30
|
+
parser.add_argument('--force', '-f', action='store_true', help='Forcibly kill/remove instances')
|
|
31
31
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
32
32
|
parser.add_argument('images', nargs='*', help='List of Docker containers (regular expression)')
|
|
33
33
|
|
|
@@ -38,7 +38,7 @@ def parse_command_line():
|
|
|
38
38
|
|
|
39
39
|
parser = argparse.ArgumentParser(description='Run a git command recursively in subdirectories')
|
|
40
40
|
|
|
41
|
-
parser.add_argument('
|
|
41
|
+
parser.add_argument('--quiet', '-q', action='store_true', help='Run quietly - only output errors or output from git')
|
|
42
42
|
parser.add_argument('path', nargs='?', action='store', default='.', help='Specify the path to run in')
|
|
43
43
|
|
|
44
44
|
args = parser.parse_args()
|
|
@@ -28,18 +28,18 @@ def parse_command_line():
|
|
|
28
28
|
parser = argparse.ArgumentParser(
|
|
29
29
|
description='Run a git grep in either the current working tree or all working git working trees under the current directory')
|
|
30
30
|
|
|
31
|
-
parser.add_argument('
|
|
32
|
-
parser.add_argument('
|
|
33
|
-
parser.add_argument('-
|
|
34
|
-
parser.add_argument('-
|
|
31
|
+
parser.add_argument('--follow', '-f', action='store_true', help='Follow symlinks')
|
|
32
|
+
parser.add_argument('--text', '-a', action='store_true', help='Process binary files as if they were text.')
|
|
33
|
+
parser.add_argument('--ignore-case', '-i', action='store_true', help='Ignore case differences between the patterns and the files.')
|
|
34
|
+
parser.add_argument('--word-regexp', '-w', action='store_true',
|
|
35
35
|
help='Match the pattern only at word boundary (either begin at the beginning of a line, or preceded by a non-word character; end at the end of a line or followed by a non-word character).')
|
|
36
|
-
parser.add_argument('-
|
|
37
|
-
parser.add_argument('-
|
|
38
|
-
parser.add_argument('-
|
|
39
|
-
parser.add_argument('
|
|
40
|
-
parser.add_argument('
|
|
41
|
-
parser.add_argument('
|
|
42
|
-
parser.add_argument('-
|
|
36
|
+
parser.add_argument('--invert-match', '-v', action='store_true', help='Select non-matching lines.')
|
|
37
|
+
parser.add_argument('--fixed-strings', '-F', action='store_true', help='Use fixed strings for patterns (don’t interpret pattern as a regex).')
|
|
38
|
+
parser.add_argument('--line-number', '-n', action='store_true', help='Prefix the line number to matching lines.')
|
|
39
|
+
parser.add_argument('--files-with-matches', '-l', action='store_true', help='Show only the names of files that contain matches')
|
|
40
|
+
parser.add_argument('--files-without-matches', '-L', action='store_true', help='Show only the names of files that do NOT contain matches')
|
|
41
|
+
parser.add_argument('--wildcard', '-W', action='append', help='Only search files matching the wildcard(s)')
|
|
42
|
+
parser.add_argument('--only-matching', '-o', action='store_true', help='Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.')
|
|
43
43
|
parser.add_argument('--no-color', action='store_true', help='Turn off match highlighting')
|
|
44
44
|
parser.add_argument('pattern', action='store', help='Regular expression to search for')
|
|
45
45
|
parser.add_argument('paths', nargs='*', help='Optional list of one or more paths to search')
|
|
@@ -31,8 +31,8 @@ def parse_command_line():
|
|
|
31
31
|
|
|
32
32
|
parser = argparse.ArgumentParser(description='List or delete branches that have been merged')
|
|
33
33
|
|
|
34
|
-
parser.add_argument('
|
|
35
|
-
parser.add_argument('
|
|
34
|
+
parser.add_argument('--all', '-a', action='store_true', help='List all branches, including remotes')
|
|
35
|
+
parser.add_argument('--delete', '-d', action='store_true',
|
|
36
36
|
help='Delete the specified branch(es), even if it is the current one (list of branches to delete must be supplied as parameters)')
|
|
37
37
|
parser.add_argument('branches', nargs='*', help='Filter the list of branches according to one or more patterns')
|
|
38
38
|
|
|
@@ -36,13 +36,13 @@ def main():
|
|
|
36
36
|
parser = argparse.ArgumentParser(
|
|
37
37
|
description='Amend changes to the current commit. Updates files that are already in the commit and, optionally, adds additional files.')
|
|
38
38
|
|
|
39
|
-
parser.add_argument('
|
|
40
|
-
parser.add_argument('
|
|
41
|
-
parser.add_argument('
|
|
42
|
-
parser.add_argument('
|
|
43
|
-
parser.add_argument('
|
|
44
|
-
parser.add_argument('
|
|
45
|
-
parser.add_argument('-
|
|
39
|
+
parser.add_argument('--added', '-A', action='store_true', help='Update files in the current commit, including files added with "git add"')
|
|
40
|
+
parser.add_argument('--all', '-a', action='store_true', help='Append all locally-modified, tracked files to the current commit')
|
|
41
|
+
parser.add_argument('--everything', '-e', action='store_true', help='Append all modified and untracked files to the current commit (implies --all)')
|
|
42
|
+
parser.add_argument('--ignored', '-i', action='store_true', dest='ignored', help='Include files normally hidden by .gitignore')
|
|
43
|
+
parser.add_argument('--patch', '-p', action='store_true', help='Use the interactive patch selection interface to chose which changes to commit.')
|
|
44
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Verbose mode')
|
|
45
|
+
parser.add_argument('--dry-run', '-D', action='store_true', help='Dry-run')
|
|
46
46
|
|
|
47
47
|
parser.add_argument('files', nargs='*', help='List of files to add to the commit')
|
|
48
48
|
|
|
@@ -31,12 +31,12 @@ def parse_command_line():
|
|
|
31
31
|
parser = argparse.ArgumentParser(
|
|
32
32
|
description='List or delete branches that have been merged.\nWhen deleting branches, also delete tracking branches that are not longer on the remote.')
|
|
33
33
|
|
|
34
|
-
parser.add_argument('
|
|
35
|
-
parser.add_argument('
|
|
34
|
+
parser.add_argument('--delete', '-d', action='store_true', dest='delete', help='Delete all branches that have been merged')
|
|
35
|
+
parser.add_argument('--master', '-m', '--main', dest='master',
|
|
36
36
|
help='Specify the master branch (Attempts to read this from GitLab or defaults to "develop" if present or "master" or "main" otherwise')
|
|
37
|
-
parser.add_argument('
|
|
38
|
-
parser.add_argument('
|
|
39
|
-
parser.add_argument('
|
|
37
|
+
parser.add_argument('--force', '-f', action='store_true', dest='force', help='Allow protected branches (e.g. master) to be removed')
|
|
38
|
+
parser.add_argument('--unmerged', '-u', action='store_true', dest='list_unmerged', help='List branches that have NOT been merged')
|
|
39
|
+
parser.add_argument('--yes', '-y', action='store_true', dest='force', help='Assume "yes" in response to any prompts (e.g. to delete branches)')
|
|
40
40
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
41
41
|
|
|
42
42
|
parser.add_argument('branches', nargs='*', help='List of branches to check (default is all branches)')
|
|
@@ -59,12 +59,12 @@ def parse_arguments():
|
|
|
59
59
|
""" Parse and return command line arguments """
|
|
60
60
|
|
|
61
61
|
parser = argparse.ArgumentParser(description=DESCRIPTION, formatter_class=argparse.RawTextHelpFormatter)
|
|
62
|
-
parser.add_argument('
|
|
63
|
-
parser.add_argument('
|
|
64
|
-
parser.add_argument('
|
|
65
|
-
parser.add_argument('
|
|
62
|
+
parser.add_argument('--branch', '-b', action='store_true', help='Create the specified branch')
|
|
63
|
+
parser.add_argument('--update', '-u', action='store_true', help='If a remote branch exists, delete any local branch and check out the remote version')
|
|
64
|
+
parser.add_argument('--rebase', '-r', action='store_true', help='Rebase the branch onto its parent after checking it out')
|
|
65
|
+
parser.add_argument('--force', '-f', action='store_true',
|
|
66
66
|
help='When using the update option, recreate the local branch even if it is owned by the current user (based on the author of the most recent commit)')
|
|
67
|
-
parser.add_argument('
|
|
67
|
+
parser.add_argument('--exact', '-e', action='store_true', help='Do not use branch name matching - check out the branch as specified (if it exists)')
|
|
68
68
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
69
69
|
parser.add_argument('branchname', nargs=1, type=str,
|
|
70
70
|
help='The branch name (or a partial name that matches uniquely against a local branch, remote branch, commit ID or tag)')
|
|
@@ -23,7 +23,7 @@ def parse_arguments():
|
|
|
23
23
|
parser = argparse.ArgumentParser(description=DESCRIPTION, formatter_class=argparse.RawTextHelpFormatter)
|
|
24
24
|
|
|
25
25
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
26
|
-
parser.add_argument('
|
|
26
|
+
parser.add_argument('--force', '-f', action='store_true', help='Force-push the branch')
|
|
27
27
|
parser.add_argument('--parent', '-p', action='store', help='Override the default parent and specify the branch to merge onto')
|
|
28
28
|
parser.add_argument('--reviewer', '-r', action='store', help='Specify the name of the reviewer for the merge request')
|
|
29
29
|
parser.add_argument('--keep', '-k', action='store_true', help='Keep the source branch after the merge (default is to delete it).')
|
|
@@ -21,8 +21,8 @@ def main():
|
|
|
21
21
|
current_branch = git.branch()
|
|
22
22
|
|
|
23
23
|
parser = argparse.ArgumentParser(description='Attempt to determine the parent branch for the specified branch (defaulting to the current one)')
|
|
24
|
-
parser.add_argument('
|
|
25
|
-
parser.add_argument('
|
|
24
|
+
parser.add_argument('--all', '-a', action='store_true', help='Include feature branches as possible parents')
|
|
25
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Report verbose results (includes number of commits between branch and parent)')
|
|
26
26
|
parser.add_argument('branch', action='store', nargs='?', type=str, default=current_branch, help=f'Branch, commit or commit (defaults to current branch; {current_branch})')
|
|
27
27
|
|
|
28
28
|
args = parser.parse_args()
|
|
@@ -1284,10 +1284,10 @@ def parse_command_line():
|
|
|
1284
1284
|
|
|
1285
1285
|
parser = argparse.ArgumentParser(description='Menu-driven Git code review tool')
|
|
1286
1286
|
|
|
1287
|
-
parser.add_argument('
|
|
1288
|
-
parser.add_argument('
|
|
1289
|
-
parser.add_argument('
|
|
1290
|
-
parser.add_argument('
|
|
1287
|
+
parser.add_argument('--commit', '-c', type=str, help='Compare the specified commit with its parent')
|
|
1288
|
+
parser.add_argument('--branch', '-b', type=str, help='Compare the specified commit to branch point on specified branch')
|
|
1289
|
+
parser.add_argument('--change', '-C', action='store_true', help='Compare the current commit with its parent')
|
|
1290
|
+
parser.add_argument('--debug', '-d', action='store_true', help='Start a debug session over Telnet using pudb')
|
|
1291
1291
|
parser.add_argument('--dir', action='store', help='Work in the specified directory')
|
|
1292
1292
|
parser.add_argument('--difftool', type=str, default=None, help='Override the default git diff tool')
|
|
1293
1293
|
|
|
@@ -36,17 +36,17 @@ def parse_command_line():
|
|
|
36
36
|
|
|
37
37
|
parser = argparse.ArgumentParser(description='Rebase branch(es) against their parent branch, updating both in the process')
|
|
38
38
|
|
|
39
|
-
parser.add_argument('
|
|
39
|
+
parser.add_argument('--cleanup', '-c', action='store_true',
|
|
40
40
|
help='After updating a branch, delete it if there are no differences between it and its parent branch')
|
|
41
|
-
parser.add_argument('
|
|
42
|
-
parser.add_argument('
|
|
41
|
+
parser.add_argument('--all', '-a', action='store_true', help='Update all local branches, not just the current one')
|
|
42
|
+
parser.add_argument('--everything', '-A', action='store_true',
|
|
43
43
|
help='Update all local branches, not just the current one and ignore the default ignore list specified in the Git configuration')
|
|
44
|
-
parser.add_argument('
|
|
45
|
-
parser.add_argument('
|
|
46
|
-
parser.add_argument('-
|
|
44
|
+
parser.add_argument('--default', '-d', action='store_true', help='Checkout the main or master branch on completion')
|
|
45
|
+
parser.add_argument('--parent', '-p', action='store', help='Specify the parent branch, rather than trying to work it out')
|
|
46
|
+
parser.add_argument('--all-parents', '-P', action='store_true',
|
|
47
47
|
help='Feature branches are not considered as alternative parents unless this option is specified')
|
|
48
|
-
parser.add_argument('
|
|
49
|
-
parser.add_argument('
|
|
48
|
+
parser.add_argument('--stop', '-s', action='store_true', help='Stop if a rebase problem occurs, instead of skipping the branch')
|
|
49
|
+
parser.add_argument('--ignore', '-i', action='store', default=None,
|
|
50
50
|
help='List of one or more wildcard branch names not to attempt to update (uses update.ignore from the Git configuration if not specified)')
|
|
51
51
|
parser.add_argument('--verbose', action='store_true', help='Enable verbose output')
|
|
52
52
|
parser.add_argument('--dry-run', action='store_true', help='Report what would be done without actually doing it')
|
|
@@ -93,6 +93,11 @@ def branch_rebase(args, results, branch):
|
|
|
93
93
|
|
|
94
94
|
logging.debug('No non-feature-branch parents found for %s. Feature branch parents could be: %s', branch, parents)
|
|
95
95
|
|
|
96
|
+
if not parents:
|
|
97
|
+
colour.write(f'[RED:WARNING]: Unable to rebase [BLUE:{branch}] branch as unable to determine its parent (no obvious candidates))', indent=4)
|
|
98
|
+
results['failed'].add(branch)
|
|
99
|
+
return
|
|
100
|
+
|
|
96
101
|
# Cheat - if we have multiple possible parents and one is 'develop', 'main' or 'master'
|
|
97
102
|
# choose it.
|
|
98
103
|
|
|
@@ -104,19 +109,14 @@ def branch_rebase(args, results, branch):
|
|
|
104
109
|
elif 'develop' in parents:
|
|
105
110
|
parent = 'develop'
|
|
106
111
|
else:
|
|
107
|
-
colour.write('[RED:WARNING]: Unable to rebase [BLUE
|
|
108
|
-
|
|
112
|
+
colour.write(f'[RED:WARNING]: Unable to rebase [BLUE:{branch}] branch as unable to determine its parent (could be any of {", ".join(parents)})',
|
|
113
|
+
indent=4)
|
|
109
114
|
results['failed'].add(branch)
|
|
110
115
|
return
|
|
111
116
|
|
|
112
117
|
elif len(parents) == 1:
|
|
113
118
|
parent = parents[0]
|
|
114
119
|
|
|
115
|
-
else:
|
|
116
|
-
colour.write(f'[RED:WARNING]: Unable to rebase [BLUE:{branch}] branch as unable to determine its parent (no obvious candidates))', indent=4)
|
|
117
|
-
results['failed'].add(branch)
|
|
118
|
-
return
|
|
119
|
-
|
|
120
120
|
if args.dry_run:
|
|
121
121
|
colour.write(f'[BOLD:Checking if] [BLUE:{branch}] [BOLD:needs to be rebased onto] [BLUE:{parent}]', indent=4)
|
|
122
122
|
|
|
@@ -296,7 +296,7 @@ def main():
|
|
|
296
296
|
|
|
297
297
|
branches = git.branches() if args.all or args.everything else [current_branch]
|
|
298
298
|
|
|
299
|
-
logging.info('Updating %s'
|
|
299
|
+
logging.info('Updating %s', ', '.join(branches))
|
|
300
300
|
|
|
301
301
|
# Filter out branches that the user wants to ignore
|
|
302
302
|
|
|
@@ -75,7 +75,7 @@ def main():
|
|
|
75
75
|
""" Report Summary of files by name or extension """
|
|
76
76
|
|
|
77
77
|
parser = argparse.ArgumentParser(description='Summarise number of files, lines of text and total size of files in a directory tree')
|
|
78
|
-
parser.add_argument('
|
|
78
|
+
parser.add_argument('--ext', '-e', action='store_true', help='Identify file type using the file extension (faster but less accurrate)')
|
|
79
79
|
|
|
80
80
|
args = parser.parse_args()
|
|
81
81
|
|
|
@@ -27,9 +27,9 @@ def parse_command_line():
|
|
|
27
27
|
|
|
28
28
|
parser = argparse.ArgumentParser(description='File relocation - move files by wildcard from one directory tree to another')
|
|
29
29
|
|
|
30
|
-
parser.add_argument('
|
|
31
|
-
parser.add_argument('
|
|
32
|
-
parser.add_argument('-
|
|
30
|
+
parser.add_argument('--source', '-s', type=str, required=True, help='Source directory')
|
|
31
|
+
parser.add_argument('--destination', '-d', type=str, required=True, help='Destination directory')
|
|
32
|
+
parser.add_argument('--dry-run', '-D', action='store_true', help='Report what files would be moved, without actually moving them')
|
|
33
33
|
parser.add_argument('files', nargs='*', help='List of wildcard matches')
|
|
34
34
|
|
|
35
35
|
args = parser.parse_args()
|
|
@@ -224,6 +224,13 @@ def mg_init(args, config, console):
|
|
|
224
224
|
By default, it scans the tree for git directories and adds or updates them
|
|
225
225
|
in the configuration, using the current branch as the default branch. """
|
|
226
226
|
|
|
227
|
+
# Sanity checks
|
|
228
|
+
|
|
229
|
+
if args.modified or args.branched:
|
|
230
|
+
error('The "--modified" and "--branched" options cannot be used with the "init" subcommand')
|
|
231
|
+
elif not config:
|
|
232
|
+
error(f'Unable to location configuration file "{args.configuration_file}"')
|
|
233
|
+
|
|
227
234
|
# TODO: Update should remove or warn about repos that are no longer present
|
|
228
235
|
|
|
229
236
|
# Search for .git directories
|
|
@@ -442,12 +449,6 @@ def main():
|
|
|
442
449
|
# Run an internal or external command-specific validation
|
|
443
450
|
|
|
444
451
|
if args.internal_command:
|
|
445
|
-
if args.command == 'init':
|
|
446
|
-
if args.modified or args.branched:
|
|
447
|
-
error('The "--modified" and "--branched" options cannot be used with the "init" subcommand')
|
|
448
|
-
elif not config:
|
|
449
|
-
error(f'Unable to location configuration file "{args.configuration_file}"')
|
|
450
|
-
|
|
451
452
|
# Run the subcommand
|
|
452
453
|
|
|
453
454
|
commands[args.command](args, config, console)
|
|
@@ -459,6 +460,8 @@ def main():
|
|
|
459
460
|
config.write(configfile)
|
|
460
461
|
|
|
461
462
|
else:
|
|
463
|
+
# Run the external command, no need to update the config as it can't change here
|
|
464
|
+
|
|
462
465
|
run_git_command(args, config, console)
|
|
463
466
|
|
|
464
467
|
################################################################################
|
|
@@ -52,7 +52,7 @@ def parse_command_line():
|
|
|
52
52
|
|
|
53
53
|
parser = argparse.ArgumentParser(description='Re-organise photos into (hopefully) the correct folders.')
|
|
54
54
|
|
|
55
|
-
parser.add_argument('-
|
|
55
|
+
parser.add_argument('--dry-run', '-D', action='store_true', help='Report what files would be moved, without actually moving them')
|
|
56
56
|
parser.add_argument('path', nargs=1, help='Path to the picture storage directory')
|
|
57
57
|
|
|
58
58
|
args = parser.parse_args()
|
|
@@ -52,6 +52,7 @@ TF_MISC_REGEX = \
|
|
|
52
52
|
{ 'regex': re.compile(r'"(.*:.*)"( = ".*")'), 'replace': r'\1\2'},
|
|
53
53
|
{ 'regex': re.compile(r'"(.*:.*)"( = \[$)'), 'replace': r'\1\2'},
|
|
54
54
|
{ 'regex': re.compile(r'^last "terraform apply":$'), 'replace':r'last "terraform apply" which may have affected this plan:'},
|
|
55
|
+
{ 'find': ' ~ ', 'replace': ' * '},
|
|
55
56
|
]
|
|
56
57
|
|
|
57
58
|
TF_IGNORE_LIST = [
|
|
@@ -37,11 +37,11 @@ def main():
|
|
|
37
37
|
# Parse the command line
|
|
38
38
|
|
|
39
39
|
parser = argparse.ArgumentParser(description='Remove empty directories')
|
|
40
|
-
parser.add_argument('-
|
|
40
|
+
parser.add_argument('--dry-run', '-D', action='store_true', help='Dry-run - report what would be done without doing anything')
|
|
41
41
|
parser.add_argument('--debug', action='store_true', help='Output debug information')
|
|
42
42
|
parser.add_argument('--verbose', action='store_true', help='Output verbose information')
|
|
43
|
-
parser.add_argument('
|
|
44
|
-
parser.add_argument('
|
|
43
|
+
parser.add_argument('--ignore', '-I', action='append', help='Files to ignore when considering whether a directory is empty')
|
|
44
|
+
parser.add_argument('--keep', '-K', action='append', help='Directories that should be kept even if they are empty')
|
|
45
45
|
parser.add_argument('dirs', nargs='+', help='Directories to prune')
|
|
46
46
|
args = parser.parse_args()
|
|
47
47
|
|
|
@@ -20,7 +20,7 @@ def main():
|
|
|
20
20
|
""" Main function """
|
|
21
21
|
|
|
22
22
|
parser = argparse.ArgumentParser(description='Textual search and replace')
|
|
23
|
-
parser.add_argument('
|
|
23
|
+
parser.add_argument('--inplace', '-i', action='store_true', help='Do an in-place search and replace on the input file')
|
|
24
24
|
parser.add_argument('search', nargs=1, action='store', help='Search text')
|
|
25
25
|
parser.add_argument('replace', nargs=1, action='store', help='Replacment text')
|
|
26
26
|
parser.add_argument('infile', nargs='?', action='store', help='Input file')
|
|
@@ -26,7 +26,7 @@ def main():
|
|
|
26
26
|
|
|
27
27
|
parser = argparse.ArgumentParser(description='Trim a path for display to a specified with by replacing intermediate directory names with "..."')
|
|
28
28
|
|
|
29
|
-
parser.add_argument('
|
|
29
|
+
parser.add_argument('--width', '-w', default=None, help='Specify the width to trim to the path to. Default is 25% of the current console width')
|
|
30
30
|
parser.add_argument('path', nargs='?', default=None, help='The path to trim. Default is the current directory')
|
|
31
31
|
parser.add_argument('--debug', action='store_true', help='Enable debug output')
|
|
32
32
|
|
|
@@ -73,7 +73,7 @@ def make_public():
|
|
|
73
73
|
|
|
74
74
|
parser.add_argument('--debug', action='store_true', help='Output the list of files (if any) that need to be made publically writeable')
|
|
75
75
|
parser.add_argument('--verbose', action='store_true', help='List files as they are updated')
|
|
76
|
-
parser.add_argument('
|
|
76
|
+
parser.add_argument('--recursive', '-R', action='store_true', help='Operate recursively')
|
|
77
77
|
parser.add_argument('mode', help='Mode to set')
|
|
78
78
|
parser.add_argument('paths', nargs='+', help='List of directory paths to search')
|
|
79
79
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: skilleter_thingy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.93
|
|
4
4
|
Summary: A collection of useful utilities, mainly aimed at making Git more friendly
|
|
5
5
|
Author-email: John Skilleter <john@skilleter.org.uk>
|
|
6
6
|
Project-URL: Home, https://skilleter.org.uk
|
|
@@ -18,6 +18,7 @@ Requires-Dist: pyaml
|
|
|
18
18
|
Requires-Dist: pygit2
|
|
19
19
|
Requires-Dist: python-dateutil
|
|
20
20
|
Requires-Dist: requests
|
|
21
|
+
Requires-Dist: filetype
|
|
21
22
|
|
|
22
23
|
# Thingy
|
|
23
24
|
|
|
@@ -49,7 +50,9 @@ The multigit command line format is:
|
|
|
49
50
|
|
|
50
51
|
Where COMMAND is an internal multigit command if it starts with a '+' and is a git command otherwise.
|
|
51
52
|
|
|
52
|
-
By default, when
|
|
53
|
+
By default, when multigit is invoked with a git command, it runs a the command in each of the working trees selected by the command line options passed to multigit (if no options are specified then the command is run in all the working trees.
|
|
54
|
+
|
|
55
|
+
The command takes a number of options that can be used to select the list of working trees that each of the subcommands that it supports runs in:
|
|
53
56
|
|
|
54
57
|
*--repos / -r* Allows a list of working trees to be specfied, either as the full or relative path, the name or a wildcard.
|
|
55
58
|
|
|
@@ -57,11 +60,11 @@ By default, when a multigit command, other than `init` is run, it runs a git com
|
|
|
57
60
|
|
|
58
61
|
*--branched / -b* Run only working trees where the current branch that is checked out is NOT the default branch
|
|
59
62
|
|
|
60
|
-
Multigit supports a small list of subcommands:
|
|
63
|
+
Multigit supports a small list of subcommands, each of which are prefixed with a `+` to distinguish them from Git commands:
|
|
61
64
|
|
|
62
65
|
*+init* - Create or update the configuration file
|
|
63
66
|
|
|
64
|
-
*+dir* - Given the name of a working tree,
|
|
67
|
+
*+dir* - Given the name of a working tree, output the location within the multigit tree of that working tree if the name matches uniquely, or the name of the directory where the multigit configuration file resides if no parameter is specified.
|
|
65
68
|
|
|
66
69
|
*+config* - Print the name and location of the multigit configuration file.
|
|
67
70
|
|
|
@@ -69,23 +72,17 @@ Any command not prefixed with '+' is run in each of the working trees (filtered
|
|
|
69
72
|
|
|
70
73
|
For example; `multigit -m commit -ab` would run `git commit -a` in each of the working trees that is branched and contains modified files.
|
|
71
74
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
## ggit
|
|
75
|
-
|
|
76
|
-
Run a git command in all working trees under the current directory (note that this is not related to multigit).
|
|
75
|
+
The `+dir` command can be used with shell aliases (or their equivalent in the user's shell of choice) to create an alias to run, for example, `cd (multigit +dir "$@")` (Bash) or `cd (multigit +dir $argv)` (for the Fish shell) that would cd to the top level direcory.
|
|
77
76
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
Run 'git grep' in all repos under the current directory (note that this is not related to multigit).
|
|
77
|
+
# Miscellaneous Git Utilities
|
|
81
78
|
|
|
82
79
|
## gitprompt
|
|
83
80
|
|
|
84
|
-
Output a string containing colour-coded shell nesting level, current directory and git working tree status (used in the shell prompt).
|
|
81
|
+
Output a string containing colour-coded shell nesting level, current directory and git working tree status (intended to be used in the shell prompt).
|
|
85
82
|
|
|
86
83
|
# Git Extensions
|
|
87
84
|
|
|
88
|
-
Due to the way that the git command works, these can be run as they were additional git subcommands
|
|
85
|
+
Due to the way that the git command works, these can be run as they were additional git subcommands.
|
|
89
86
|
|
|
90
87
|
## git ca
|
|
91
88
|
|
|
@@ -115,16 +112,6 @@ Output the top level directory of the git working tree or return an error if we
|
|
|
115
112
|
|
|
116
113
|
Console-based git change review tool.
|
|
117
114
|
|
|
118
|
-
## GitLab Commands
|
|
119
|
-
|
|
120
|
-
### git mr
|
|
121
|
-
|
|
122
|
-
Push a feature branch to GitLab and create a merge request
|
|
123
|
-
|
|
124
|
-
### gl
|
|
125
|
-
|
|
126
|
-
Command line for GitLab
|
|
127
|
-
|
|
128
115
|
# General Commands
|
|
129
116
|
|
|
130
117
|
## addpath
|
|
@@ -137,9 +124,7 @@ Stop or kill docker instances and/or remove docker images.
|
|
|
137
124
|
|
|
138
125
|
## ffind
|
|
139
126
|
|
|
140
|
-
Simple file find utility
|
|
141
|
-
|
|
142
|
-
Implements the functionality of the find command that is regularly used in a simpler fashion and ignores all the options that nobody ever uses.
|
|
127
|
+
Simple file find utility - replaces the `find` command with something that is more human-friendly.
|
|
143
128
|
|
|
144
129
|
## linecount
|
|
145
130
|
|
|
@@ -251,3 +236,25 @@ Simple console system monitor
|
|
|
251
236
|
## window-rename
|
|
252
237
|
|
|
253
238
|
Monitor window titles and rename them to fit an alphabetical grouping in 'Appname - Document' format.
|
|
239
|
+
|
|
240
|
+
# Obsolescent Commands
|
|
241
|
+
|
|
242
|
+
These commands will probably be retired in future versions of Thingy
|
|
243
|
+
|
|
244
|
+
## ggit
|
|
245
|
+
|
|
246
|
+
Run a git command in all working trees under the current directory (superceded by multigit).
|
|
247
|
+
|
|
248
|
+
## ggrep
|
|
249
|
+
|
|
250
|
+
Run 'git grep' in all repos under the current directory (superceded by multigit).
|
|
251
|
+
|
|
252
|
+
## GitLab Commands
|
|
253
|
+
|
|
254
|
+
### git mr
|
|
255
|
+
|
|
256
|
+
Push a feature branch to GitLab and create a merge request
|
|
257
|
+
|
|
258
|
+
### gl
|
|
259
|
+
|
|
260
|
+
Command line for GitLab
|
|
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
|
{skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy/thingy/venv_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{skilleter_thingy-0.0.91 → skilleter_thingy-0.0.93}/skilleter_thingy.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|