skilleter-thingy 0.0.86__py3-none-any.whl → 0.0.88__py3-none-any.whl
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/multigit.py +15 -5
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/METADATA +55 -6
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/RECORD +7 -7
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/LICENSE +0 -0
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/WHEEL +0 -0
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/entry_points.txt +0 -0
- {skilleter_thingy-0.0.86.dist-info → skilleter_thingy-0.0.88.dist-info}/top_level.txt +0 -0
skilleter_thingy/multigit.py
CHANGED
|
@@ -504,13 +504,23 @@ def mg_run(args, config, console):
|
|
|
504
504
|
|
|
505
505
|
_ = config
|
|
506
506
|
|
|
507
|
-
|
|
507
|
+
if len(args.cmd) == 0:
|
|
508
|
+
error('No command specified')
|
|
509
|
+
elif len(args.cmd) == 1:
|
|
510
|
+
command = shlex.split(args.cmd[0])
|
|
511
|
+
else:
|
|
512
|
+
command = args.cmd
|
|
513
|
+
|
|
508
514
|
|
|
509
515
|
for repo in select_git_repos(args, config):
|
|
510
516
|
if not args.quiet:
|
|
511
517
|
show_progress(console.columns, repo.name)
|
|
512
518
|
|
|
513
|
-
|
|
519
|
+
repo_command = []
|
|
520
|
+
for cmd in command:
|
|
521
|
+
repo_command.append(branch_name(cmd, repo['default branch']))
|
|
522
|
+
|
|
523
|
+
run_git_status(repo_command, repo.name, args.cont)
|
|
514
524
|
|
|
515
525
|
################################################################################
|
|
516
526
|
|
|
@@ -611,9 +621,9 @@ def main():
|
|
|
611
621
|
|
|
612
622
|
parser_clean.add_argument('--recurse', '-d', action='store_true', help='Recurse into subdirectories')
|
|
613
623
|
parser_clean.add_argument('--force', '-f', action='store_true', help='If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless given -f or -i')
|
|
614
|
-
#parser_clean.add_argument('--interactive', '-i', action='store_true', help='Show what would be done and clean files interactively.')
|
|
624
|
+
# TODO: parser_clean.add_argument('--interactive', '-i', action='store_true', help='Show what would be done and clean files interactively.')
|
|
615
625
|
parser_clean.add_argument('--dry-run', '-n', action='store_true', help='Don’t actually remove anything, just show what would be done.')
|
|
616
|
-
#parser_clean.add_argument('--quiet', '-q', , action='store_true', help='Be quiet, only report errors, but not the files that are successfully removed.')
|
|
626
|
+
# TODO: parser_clean.add_argument('--quiet', '-q', , action='store_true', help='Be quiet, only report errors, but not the files that are successfully removed.')
|
|
617
627
|
parser_clean.add_argument('--exclude', '-e', action='store', help='Use the given exclude pattern in addition to the standard ignore rules.')
|
|
618
628
|
parser_clean.add_argument('-x', action='store_true', help='Don’t use the standard ignore rules, but still use the ignore rules given with -e options from the command line.')
|
|
619
629
|
parser_clean.add_argument('-X', action='store_true', help='Remove only files ignored by Git. This may be useful to rebuild everything from scratch, but keep manually created files.')
|
|
@@ -625,7 +635,7 @@ def main():
|
|
|
625
635
|
|
|
626
636
|
parser_run = subparsers.add_parser('run', help='Run any git command in each of the working trees')
|
|
627
637
|
parser_run.add_argument('--cont', '-c', action='store_true', help='Continue if the command returns an error in any of the working trees')
|
|
628
|
-
parser_run.add_argument('cmd', nargs=
|
|
638
|
+
parser_run.add_argument('cmd', nargs='*', action='store', help='The command to run (the command may need to be quoted)')
|
|
629
639
|
|
|
630
640
|
parser_review = subparsers.add_parser('review', help='Review the changes in a working tree')
|
|
631
641
|
parser_review.add_argument('parameters', nargs='*', action='store', help='Parameters passed to the "git review" command')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: skilleter_thingy
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.88
|
|
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
|
|
@@ -33,7 +33,56 @@ The following commands are documented in detail in the help output that can be d
|
|
|
33
33
|
|
|
34
34
|
This README just contains a summary of the functionality of each command.
|
|
35
35
|
|
|
36
|
-
# Git
|
|
36
|
+
# Git Repo Management
|
|
37
|
+
|
|
38
|
+
## multigit
|
|
39
|
+
|
|
40
|
+
Manage a collection of related git working trees.
|
|
41
|
+
|
|
42
|
+
This is intended for use in a situation where you have a collection of related git working trees organised in a directory hierarchy and not necessarily managed using git submodules or any other tool. It allows you to run git commands on multiple working trees at once, without navigating around the different working trees to do so.
|
|
43
|
+
|
|
44
|
+
Start by running ensuring that the default branch (e.g. `main`) is checked out in each of the working trees and, in the top-level directory, run `multigit init` to create the configuration file which, by default is called `multigit.toml` - this is just a text file that sets the configuration for each working tree in terms of name, origin, default branch and location.
|
|
45
|
+
|
|
46
|
+
By default, when a multigit command, other than `init` is run, it runs a git command in each of the working trees. 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:
|
|
47
|
+
|
|
48
|
+
*--repos / -r* Allows a list of working trees to be specfied, either as the full or relative path, the name or a wildcard.
|
|
49
|
+
|
|
50
|
+
*--modified / -m* Run only in working trees containing locally modified files
|
|
51
|
+
|
|
52
|
+
*--branched / -b* Run only working trees where the current branch that is checked out is NOT the default branch
|
|
53
|
+
|
|
54
|
+
# TODO - Do we actually need any commands other than init, dir, config as everything else can be done via run?
|
|
55
|
+
# TODO - Could just make the commands multigit +init/+dir/+config and then for anything else, just pass the whole of the command line to git once we've parsed the default branch?
|
|
56
|
+
|
|
57
|
+
Multigit supports a (growing) list of subcommands:
|
|
58
|
+
|
|
59
|
+
*init* - Create or update the configuration file
|
|
60
|
+
|
|
61
|
+
*status* - Run `git status` in each of the working trees.
|
|
62
|
+
|
|
63
|
+
*fetch* - Run `git fetch` in each of the working trees
|
|
64
|
+
|
|
65
|
+
*pull* - Run `git pull` in each of the working trees
|
|
66
|
+
|
|
67
|
+
*push* - Run `git push` in each of the working trees
|
|
68
|
+
|
|
69
|
+
*co*
|
|
70
|
+
|
|
71
|
+
*commit*
|
|
72
|
+
|
|
73
|
+
*update*
|
|
74
|
+
|
|
75
|
+
*clean*
|
|
76
|
+
|
|
77
|
+
*dir*
|
|
78
|
+
|
|
79
|
+
*config*
|
|
80
|
+
|
|
81
|
+
*review*
|
|
82
|
+
|
|
83
|
+
*run*
|
|
84
|
+
|
|
85
|
+
# Miscellaneous Git Utilities
|
|
37
86
|
|
|
38
87
|
## ggit
|
|
39
88
|
|
|
@@ -47,6 +96,10 @@ Run 'git grep' in all repos under the current directory (note that this is not r
|
|
|
47
96
|
|
|
48
97
|
Output a string containing colour-coded shell nesting level, current directory and git working tree status (used in the shell prompt).
|
|
49
98
|
|
|
99
|
+
# Git Extensions
|
|
100
|
+
|
|
101
|
+
Due to the way that the git command works, these can be run as they were additional git subcommands
|
|
102
|
+
|
|
50
103
|
## git ca
|
|
51
104
|
|
|
52
105
|
Improved version of 'git commit --amend'. Updates files that are already in the commit and, optionally, adds and commits additional files.
|
|
@@ -75,10 +128,6 @@ Output the top level directory of the git working tree or return an error if we
|
|
|
75
128
|
|
|
76
129
|
Console-based git change review tool.
|
|
77
130
|
|
|
78
|
-
## multigit
|
|
79
|
-
|
|
80
|
-
Manage a collection of related git repoitories.
|
|
81
|
-
|
|
82
131
|
## GitLab Commands
|
|
83
132
|
|
|
84
133
|
### git mr
|
|
@@ -25,7 +25,7 @@ skilleter_thingy/gl.py,sha256=9zbGpKxw6lX9RghLkdy-Q5sZlqtbB3uGFO04qTu1dH8,5954
|
|
|
25
25
|
skilleter_thingy/gphotosync.py,sha256=Vb2zYTEFp26BYdkG810SRg9afyfDqvq4CLHTk-MFf60,22388
|
|
26
26
|
skilleter_thingy/linecount.py,sha256=5voQtjJjDCVx4zjPwVRy620NpuLiwwFitzxjIsRGtxQ,4310
|
|
27
27
|
skilleter_thingy/moviemover.py,sha256=j_Xb9_jFdgpFBAXcF4tEqbnKH_FonlnUU39LiCK980k,4470
|
|
28
|
-
skilleter_thingy/multigit.py,sha256=
|
|
28
|
+
skilleter_thingy/multigit.py,sha256=E7Gsp4vnGEGicZXIt3GYFx6G1BOlPHAvftFSGuzQlas,27319
|
|
29
29
|
skilleter_thingy/photodupe.py,sha256=l0hbzSLb2Vk2ceteg-x9fHXCEE1uUuFo84hz5rsZUPA,4184
|
|
30
30
|
skilleter_thingy/phototidier.py,sha256=5gSjlINUxf3ZQl3NG0o7CsWwODvTbokIMIafLFvn8Hc,7818
|
|
31
31
|
skilleter_thingy/py_audit.py,sha256=xJm5k5qyeA6ii8mODa4dOkmP8L1drv94UHuxR54RsIM,4384
|
|
@@ -61,9 +61,9 @@ skilleter_thingy/thingy/run.py,sha256=6SNKWF01fSxzB10GMU9ajraXYZqAL1w0PXkqjJdr1U
|
|
|
61
61
|
skilleter_thingy/thingy/tfm_pane.py,sha256=oqy5zBzKwfbjbGqetbbhpKi4x5He7sl4qkmhUeqtdZc,19789
|
|
62
62
|
skilleter_thingy/thingy/tidy.py,sha256=71DCyj0VJrj52RmjQyj1eOiQJIfy5EIPHuThOrS6ZTA,5876
|
|
63
63
|
skilleter_thingy/thingy/venv_template.py,sha256=SsVNvSwojd8NnFeQaZPCRQYTNdwJRplpZpygbUEXRnY,1015
|
|
64
|
-
skilleter_thingy-0.0.
|
|
65
|
-
skilleter_thingy-0.0.
|
|
66
|
-
skilleter_thingy-0.0.
|
|
67
|
-
skilleter_thingy-0.0.
|
|
68
|
-
skilleter_thingy-0.0.
|
|
69
|
-
skilleter_thingy-0.0.
|
|
64
|
+
skilleter_thingy-0.0.88.dist-info/LICENSE,sha256=ljOS4DjXvqEo5VzGfdaRwgRZPbNScGBmfwyC8PChvmQ,32422
|
|
65
|
+
skilleter_thingy-0.0.88.dist-info/METADATA,sha256=gXBQaiSXfgKjKq_tduHXU_lb0_4FKxjEBRMx87_JsSk,8239
|
|
66
|
+
skilleter_thingy-0.0.88.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
67
|
+
skilleter_thingy-0.0.88.dist-info/entry_points.txt,sha256=u5ymS-KPljIGTnprV5yJsAjz7qgeT2BZ-Qo_Con_PFM,2145
|
|
68
|
+
skilleter_thingy-0.0.88.dist-info/top_level.txt,sha256=8-JhgToBBiWURunmvfpSxEvNkDHQQ7r25-aBXtZv61g,17
|
|
69
|
+
skilleter_thingy-0.0.88.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|