Migrate submodule dirty check to CLI (#19488)
This commit is contained in:
parent
b2384f1809
commit
5c730d971e
2 changed files with 19 additions and 15 deletions
|
@ -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}'")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue