1
0
Fork 0

Migrate submodule dirty check to CLI (#19488)

This commit is contained in:
Joel Challis 2023-01-06 04:16:52 +00:00 committed by GitHub
parent b2384f1809
commit 5c730d971e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 15 deletions

View file

@ -1,8 +1,10 @@
import shutil
from qmk.path import normpath
from milc import cli
from qmk.path import normpath
from qmk import submodules
REMOVE_DIRS = [
'lib/ugfx',
'lib/pico-sdk',
@ -11,8 +13,22 @@ REMOVE_DIRS = [
]
@cli.argument('--check', arg_only=True, action='store_true', help='Check if the submodules are dirty, and display a warning if they are.')
@cli.argument('--sync', arg_only=True, action='store_true', help='Shallow clone any missing submodules.')
@cli.subcommand('Git Submodule actions.')
def git_submodule(cli):
"""Git Submodule actions
"""
if cli.args.check:
return all(item['status'] for item in submodules.status().values())
if cli.args.sync:
cli.run(['git', 'submodule', 'sync', '--recursive'])
for name, item in submodules.status().items():
if item['status'] is None:
cli.run(['git', 'submodule', 'update', '--depth=50', '--init', name], capture_output=False)
return True
for folder in REMOVE_DIRS:
if normpath(folder).is_dir():
print(f"Removing '{folder}'")