summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorBrian Harring <ferringb@chromium.org>2012-08-05 04:09:56 -0700
committerGerrit <chrome-bot@google.com>2012-08-09 16:34:37 -0700
commitb0043ab3e291d3bb0a54da1953e27f78a24e2b02 (patch)
tree3d314552217634d6258a06855aa55634f51f49ee /bin
parent2d6327be0cb103a1163e3f71bb3e890a78ebb091 (diff)
downloadchromite-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/loman1
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