diff options
author | Brian Harring <ferringb@chromium.org> | 2012-08-05 04:09:56 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-08-09 16:34:37 -0700 |
commit | b0043ab3e291d3bb0a54da1953e27f78a24e2b02 (patch) | |
tree | 3d314552217634d6258a06855aa55634f51f49ee /bin | |
parent | 2d6327be0cb103a1163e3f71bb3e890a78ebb091 (diff) | |
download | chromite-b0043ab3e291d3bb0a54da1953e27f78a24e2b02.tar.gz |
Rework loman to use manifest groups.
This is done to fold minilayout.xml into the full manifest, rather
than maintaining it separately (or having to use manifest inheritance).
The new flow works via using manifest-groups to turn on the specific
project that is being worked on; via this, it's easy to programmatically
turn off that project, and we no longer have to endure the design flaw
where the local_manifest addition enabling that project becomes stale,
using the old revision rather than the current setting.
Finally, note that this auto-upgrades any minilayout.xml user if
a `loman add ...` invocation occurs, or `loman --upgrade-minilayout`.
The upgrade pathway strips out the duplicate projects from local_manifest.xml
(required, else it would be a project level conflict against full.xml),
turns on the groups that the user already had cros_workon'd. If the
local_manifest is rendered empty via this, it's wiped; else it's written
w/ just the remainder (this is required else we could wipe a local_manifest
addition a user has for local development of a project not yet in our
tree). Once all of that is done, it swaps the sym to full.xml and continues
with the users request.
This should be a pretty much seemless upgrade via this. In the process,
drop unused options, drop the unittest (this script isn't exactly supported,
thus frankly I'm not interested in spending time rewriting the tests in
entirety- the way the machinery works now, loman is just a dumb wrapper
around git config manipulation).
BUG=chromium-os:32247,chromium-os:31867,chromium-os:9914
TEST=manual upgrading of a minilayout checkout.
TEST=loman add --workon <target> followed by repo sync to verify
the new source is brought in.
Change-Id: I21549cc73b776bbf0b22b2d3d9a38dd175fd797b
Reviewed-on: https://gerrit.chromium.org/gerrit/29250
Commit-Ready: Brian Harring <ferringb@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Diffstat (limited to 'bin')
l--------- | bin/loman | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/bin/loman b/bin/loman new file mode 120000 index 000000000..72196ceea --- /dev/null +++ b/bin/loman @@ -0,0 +1 @@ +../scripts/wrapper.py
\ No newline at end of file |