Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
repo: implement repo as a master driven source step
This commit reimplements the same feature and API as repo from oldsource.py The big difference is the test coverage that is now 98%, and thus the maintainability of the code. Most of the code is also now written in inline callbacks which adds a lot of readability. Additionnal features compared to oldsource.py: - repo is now capable of importing patches to the manifest directory This allows for gated-commit process to also verify that manifest patches does not break the build - better handling of tarball (automatic update on a weekly basis) - support for repo sync -c, which speeds up a lot in very big projects - better clobbering behaviour. The working directory is kept as much as possible for obvious speed reasons Version2: - reworked the flow to use less unneeded methods (like continueVC) - reworked setText for concision - reworked manifest patch handling which did not actually work with repo - also remove the lock for manifests repository Version3: - fix bug where tarball is not created the first time (+added a test for that) - log the environ only once (and factorize it in tests) Version4: - Only encode manifest branches when needed - make mirror retry to really be a retry number, and not a try number Signed-off-by: Pierre Tardy <pierre.tardy@intel.com>
- Loading branch information