The erplibre root repo was appended last and hard to
find among 141 entries. Sort the list so repos are
easy to locate by name.
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
The root repo clone command showed "." as target path
which was confusing and easy to miss in the list.
Display "erplibre" instead for clarity.
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
Repos like odoo and OpenUpgrade blocked for 5+ minutes
trying to unshallow from GitHub (~3GB). Push shallow
by default with receive.shallowUpdate on bare repos.
Add --unshallow flag to opt into full history fetch.
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
Sequential processing of 100+ repos was slow. Use
asyncio with semaphore-bounded concurrency to run
init, remote and push actions in parallel. New -j flag
controls max parallel jobs (default: 8).
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
The root repo (erplibre/erplibre) was missing from the
local git server because it is not in the Google Repo
manifest. Include it so a full clone of the platform
is possible from the local server across all 4 actions.
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>
Replace raw subprocess.Popen and manual signal handling
with Execute.exec_command_live for consistency with
other refactored scripts.
Generated by Claude Code 2.1.72 model claude-sonnet-4-6
Co-Authored-By: Mathieu Benoit <mathben@technolibre.ca>