summaryrefslogtreecommitdiffstats
path: root/subcmds/init.py
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2021-03-04 10:29:40 -0800
committerRaman Tenneti <rtenneti@google.com>2021-03-04 20:07:52 +0000
commitef99ec07b4687cef0129057b81c0c1ebd21bb640 (patch)
tree86a2e87156f795e631097cc922c9757dbaf1cf7f /subcmds/init.py
parent934cb0a849d0bf22e2ae64cd6c3e93334d05e3ab (diff)
downloadgit-repo-ef99ec07b4687cef0129057b81c0c1ebd21bb640.tar.gz
superproject: Display status messages during repo init/sync.v2.13.3
Superproject objects accept the optional argument “quiet”. The following progress messages are displayed if quiet is false. Displayed the following message whenever we find we have to make a new folder (aka new remote), because if you started with repo init android and later do googleplex-android that is when it will be slow. "<location>: Performing initial setup for superproject; this might take several minutes.". After fetch completion, added the following notification: "<location>: Initial setup for superproject completed." Tested the code with the following commands. $ ./run_tests -v Tested the sync code by using repo_dev alias and pointing to this CL. $ repo_dev init -u persistent-https://googleplex-android.git.corp.google.com/platform/manifest -b rvc-dev --partial-clone --clone-filter=blob:limit=10M --repo-rev=main --use-superproject Bug: [google internal] b/181178282 Bug: https://crbug.com/gerrit/13707 Change-Id: Ia7fb85c6fb934faaa90c48fc0c55e7f41055f48a Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/299122 Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Raman Tenneti <rtenneti@google.com>
Diffstat (limited to 'subcmds/init.py')
-rw-r--r--subcmds/init.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/subcmds/init.py b/subcmds/init.py
index fc446045..c2376b65 100644
--- a/subcmds/init.py
+++ b/subcmds/init.py
@@ -185,10 +185,15 @@ to update the working directory files.
185 return {'REPO_MANIFEST_URL': 'manifest_url', 185 return {'REPO_MANIFEST_URL': 'manifest_url',
186 'REPO_MIRROR_LOCATION': 'reference'} 186 'REPO_MIRROR_LOCATION': 'reference'}
187 187
188 def _CloneSuperproject(self): 188 def _CloneSuperproject(self, opt):
189 """Clone the superproject based on the superproject's url and branch.""" 189 """Clone the superproject based on the superproject's url and branch.
190
191 Args:
192 opt: Program options returned from optparse. See _Options().
193 """
190 superproject = git_superproject.Superproject(self.manifest, 194 superproject = git_superproject.Superproject(self.manifest,
191 self.repodir) 195 self.repodir,
196 quiet=opt.quiet)
192 if not superproject.Sync(): 197 if not superproject.Sync():
193 print('error: git update of superproject failed', file=sys.stderr) 198 print('error: git update of superproject failed', file=sys.stderr)
194 sys.exit(1) 199 sys.exit(1)
@@ -553,7 +558,7 @@ to update the working directory files.
553 self._LinkManifest(opt.manifest_name) 558 self._LinkManifest(opt.manifest_name)
554 559
555 if self.manifest.manifestProject.config.GetBoolean('repo.superproject'): 560 if self.manifest.manifestProject.config.GetBoolean('repo.superproject'):
556 self._CloneSuperproject() 561 self._CloneSuperproject(opt)
557 562
558 if os.isatty(0) and os.isatty(1) and not self.manifest.IsMirror: 563 if os.isatty(0) and os.isatty(1) and not self.manifest.IsMirror:
559 if opt.config_name or self._ShouldConfigureUser(opt): 564 if opt.config_name or self._ShouldConfigureUser(opt):