Skip to content

Commit

Permalink
repo: implement repo as a master driven source step
Browse files Browse the repository at this point in the history
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
Pierre Tardy committed Sep 21, 2012
1 parent 9c0d9d7 commit c9294b4
Show file tree
Hide file tree
Showing 5 changed files with 996 additions and 3 deletions.

0 comments on commit c9294b4

Please sign in to comment.