Refactor/optimize manifest logic.
1) Split PrepForChanges into RefreshManifestCheckout and CreatePushBranch.
RefreshManifestCheckout updates the checkout to the latest version, while
CreatePushBranch creates the necessary push branch.
2) Teach manifest_versions.py to store manifest-versions repo inside
the build directory, and be smart enough to realize it's not inside
a repo repository.
3) Teach all builders that dryrun push to use ssh; builders that don't
need to push use http with shallow clones.
4) Remove lingering insteadof hacks.
BUG=chromium-os:27107
TEST=LKGMSync and LKGMCandidateSync trybot runs. All unit tests pass.
Change-Id: Ic20084f6123f2cb0c95eed52c1bba8d1649221c5
Reviewed-on: https://gerrit.chromium.org/gerrit/17106
Tested-by: David James <davidjames@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
diff --git a/scripts/cbuildbot.py b/scripts/cbuildbot.py
index b2ea100..43bfb39 100644
--- a/scripts/cbuildbot.py
+++ b/scripts/cbuildbot.py
@@ -925,7 +925,7 @@
# midst of an existing repo since git-repo doesn't support nesting.
if (not repository.IsARepoRoot(options.buildroot) and
- repository.InARepoRepository(options.buildroot, False)):
+ repository.InARepoRepository(options.buildroot)):
parser.error('Configured buildroot %s points into a repository checkout, '
'rather than the root of it. This is not supported.'
% options.buildroot)