skilleter-thingy 0.0.99__tar.gz → 0.1.0__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.99 → skilleter_thingy-0.1.0}/PKG-INFO +1 -1
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/pyproject.toml +1 -1
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/multigit.py +22 -6
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/PKG-INFO +1 -1
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/LICENSE +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/README.md +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/setup.cfg +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/addpath.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/borger.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/console_colours.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/diskspacecheck.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/docker_purge.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/ffind.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/ggit.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/ggrep.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_br.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_ca.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_cleanup.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_co.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_common.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_hold.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_mr.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_parent.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_review.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_update.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/git_wt.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/gitcmp_helper.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/gitprompt.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/gl.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/gphotosync.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/linecount.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/moviemover.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/photodupe.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/phototidier.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/py_audit.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/readable.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/remdir.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/rmdupe.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/rpylint.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/splitpics.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/strreplace.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/sysmon.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/tfm.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/tfparse.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/__init__.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/colour.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/dc_curses.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/dc_defaults.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/dc_util.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/dircolors.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/docker.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/files.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/git.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/git2.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/gitlab.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/path.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/popup.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/process.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/run.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/tfm_pane.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/tidy.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/thingy/venv_template.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/trimpath.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/venv_create.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/window_rename.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/xchmod.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy/yamlcheck.py +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/SOURCES.txt +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/dependency_links.txt +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/entry_points.txt +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/requires.txt +0 -0
- {skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/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.1.0
|
|
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
|
|
@@ -41,6 +41,9 @@ import thingy.colour as colour
|
|
|
41
41
|
# TODO: If run in a subdirectory, only process working trees in that tree (or have an option to do so, or an option _not_ to do so; --all)
|
|
42
42
|
# TODO: Ability to read default configuration options from ~/.config/thingy/multigit.rc - these are insert before argv[1] before argparse called
|
|
43
43
|
# TODO: When we have something with multiple matches display a menu for user to select the one that they one - make it a library routine so can be used, for instance, for branch selection
|
|
44
|
+
# TODO: Use pygit
|
|
45
|
+
# TOTO: Use PathLib
|
|
46
|
+
|
|
44
47
|
################################################################################
|
|
45
48
|
|
|
46
49
|
DEFAULT_CONFIG_FILE = 'multigit.toml'
|
|
@@ -52,7 +55,7 @@ DEFAULT_BRANCH = 'DEFAULT'
|
|
|
52
55
|
|
|
53
56
|
################################################################################
|
|
54
57
|
|
|
55
|
-
HELP_INFO = """usage: multigit [-h] [--verbose] [--quiet] [--config CONFIG] [--repos REPOS] [--modified] [--branched] [--tag TAGS]
|
|
58
|
+
HELP_INFO = """usage: multigit [-h] [--verbose] [--quiet] [--config CONFIG] [--repos REPOS] [--modified] [--branched] [--sub] [--tag TAGS]
|
|
56
59
|
{+init, +config, +dir, GIT_COMMAND} ...
|
|
57
60
|
|
|
58
61
|
Run git commands in multiple Git repos. DISCLAIMER: This is beta-quality software, with missing features and liable to fail with a stack trace, but shouldn't eat your data
|
|
@@ -69,6 +72,7 @@ options:
|
|
|
69
72
|
--branched, -b Select repos that do not have the default branch checked out
|
|
70
73
|
--tag TAG, -t TAG Select repos that have the specified tag (can be issued multiple times on the command line)
|
|
71
74
|
--continue, -C Continue if a git command returns an error (by default, executation terminates when a command fails)
|
|
75
|
+
--sub, -s Select only the repos in the current directory and subdirectories
|
|
72
76
|
|
|
73
77
|
Sub-commands:
|
|
74
78
|
{+init,+dir,+config,GIT_COMMAND}
|
|
@@ -107,6 +111,7 @@ class Arguments():
|
|
|
107
111
|
tag: list[str] = field(default_factory=list)
|
|
108
112
|
modified: bool = False
|
|
109
113
|
branched: bool = False
|
|
114
|
+
subdirectories: bool = False
|
|
110
115
|
|
|
111
116
|
# Command to run with parameters
|
|
112
117
|
|
|
@@ -190,7 +195,7 @@ def find_working_trees(args):
|
|
|
190
195
|
|
|
191
196
|
def select_git_repos(args, config):
|
|
192
197
|
"""Return git repos from the configuration that match the criteria on the
|
|
193
|
-
multigit command line (the --repos, --tag, --modified and --branched options)
|
|
198
|
+
multigit command line (the --repos, --tag, --modified, --sub and --branched options)
|
|
194
199
|
or, return them all if no relevant options specified"""
|
|
195
200
|
|
|
196
201
|
for repo_path in config.sections():
|
|
@@ -242,6 +247,14 @@ def select_git_repos(args, config):
|
|
|
242
247
|
else:
|
|
243
248
|
matching = False
|
|
244
249
|
|
|
250
|
+
# If subdirectories specified, only match if the repo is in the current directory tree
|
|
251
|
+
|
|
252
|
+
if matching and args.subdirectories:
|
|
253
|
+
repo_path_rel = os.path.relpath(repo_path)
|
|
254
|
+
|
|
255
|
+
if repo_path_rel == '..' or repo_path_rel.startswith('../'):
|
|
256
|
+
matching = False
|
|
257
|
+
|
|
245
258
|
# If we have a match, yield the config entry to the caller
|
|
246
259
|
|
|
247
260
|
if matching:
|
|
@@ -263,8 +276,8 @@ def mg_init(args, config, console):
|
|
|
263
276
|
|
|
264
277
|
# Sanity checks
|
|
265
278
|
|
|
266
|
-
if args.modified or args.branched or args.tag:
|
|
267
|
-
error('The "--tag", "--modified" and "--branched" options cannot be used with the "init" subcommand')
|
|
279
|
+
if args.modified or args.branched or args.tag or args.subdirectories:
|
|
280
|
+
error('The "--tag", "--modified" "--sub", and "--branched" options cannot be used with the "init" subcommand')
|
|
268
281
|
|
|
269
282
|
# Search for .git directories and add any that aren't already in the configuration
|
|
270
283
|
|
|
@@ -424,7 +437,7 @@ def mg_config(args, config, console):
|
|
|
424
437
|
if len(args.parameters):
|
|
425
438
|
error('The +config command does not take parameters')
|
|
426
439
|
|
|
427
|
-
colour.write(args.configuration_file)
|
|
440
|
+
colour.write(os.path.relpath(args.configuration_file))
|
|
428
441
|
|
|
429
442
|
################################################################################
|
|
430
443
|
|
|
@@ -440,7 +453,7 @@ def run_git_command(args, config, console):
|
|
|
440
453
|
for cmd in args.parameters:
|
|
441
454
|
repo_command.append(branch_name(cmd, repo['default branch']))
|
|
442
455
|
|
|
443
|
-
colour.write(f'\n[BOLD:{repo.name}]\n')
|
|
456
|
+
colour.write(f'\n[BOLD:{os.path.relpath(repo.name)}]\n')
|
|
444
457
|
|
|
445
458
|
_, status = git.git_run_status(repo_command, path=repo.name, redirect=False)
|
|
446
459
|
|
|
@@ -505,6 +518,9 @@ def parse_command_line():
|
|
|
505
518
|
elif param in ('--branched', '-b'):
|
|
506
519
|
args.branched = True
|
|
507
520
|
|
|
521
|
+
elif param in ('--sub', '-s'):
|
|
522
|
+
args.subdirectories = True
|
|
523
|
+
|
|
508
524
|
elif param in ('--continue', '-C'):
|
|
509
525
|
args.error_continue = True
|
|
510
526
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: skilleter_thingy
|
|
3
|
-
Version: 0.0
|
|
3
|
+
Version: 0.1.0
|
|
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
|
|
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
|
|
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.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{skilleter_thingy-0.0.99 → skilleter_thingy-0.1.0}/skilleter_thingy.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|