From 3538dd224d6d48c60b140103f25d94f0e5f76160 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 26 Aug 2019 15:32:06 -0400 Subject: sync: merge project updates with status bar The current sync output displays "Fetching project" and "Checking out project" messages and progress bar updates independently leading to a lot of spam. Lets merge these periodic outputs with the status bar to get a little bit tighter output in the normal case. This doesn't solve all our problems, but gets us closer. Bug: https://crbug.com/gerrit/11293 Change-Id: Icd627830af4dd934a9355b7ace754b56dc96cfef Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/244934 Reviewed-by: David Pursehouse Tested-by: Mike Frysinger --- subcmds/sync.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'subcmds/sync.py') diff --git a/subcmds/sync.py b/subcmds/sync.py index 97da6204..2973a16e 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -315,9 +315,6 @@ later is required to fix a server side protocol bug. # We'll set to true once we've locked the lock. did_lock = False - if not opt.quiet: - print('Fetching project %s' % project.name) - # Encapsulate everything in a try/except/finally so that: # - We always set err_event in the case of an exception. # - We always make sure we unlock the lock if we locked it. @@ -350,7 +347,7 @@ later is required to fix a server side protocol bug. raise _FetchError() fetched.add(project.gitdir) - pm.update() + pm.update(msg=project.name) except _FetchError: pass except Exception as e: @@ -371,7 +368,6 @@ later is required to fix a server side protocol bug. fetched = set() lock = _threading.Lock() pm = Progress('Fetching projects', len(projects), - print_newline=not(opt.quiet), always_print_percentage=opt.quiet) objdir_project_map = dict() @@ -461,9 +457,6 @@ later is required to fix a server side protocol bug. # We'll set to true once we've locked the lock. did_lock = False - if not opt.quiet: - print('Checking out project %s' % project.name) - # Encapsulate everything in a try/except/finally so that: # - We always set err_event in the case of an exception. # - We always make sure we unlock the lock if we locked it. @@ -474,11 +467,11 @@ later is required to fix a server side protocol bug. try: try: project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync) - success = syncbuf.Finish() # Lock around all the rest of the code, since printing, updating a set # and Progress.update() are not thread safe. lock.acquire() + success = syncbuf.Finish() did_lock = True if not success: @@ -487,7 +480,7 @@ later is required to fix a server side protocol bug. file=sys.stderr) raise _CheckoutError() - pm.update() + pm.update(msg=project.name) except _CheckoutError: pass except Exception as e: @@ -527,7 +520,7 @@ later is required to fix a server side protocol bug. syncjobs = 1 lock = _threading.Lock() - pm = Progress('Syncing work tree', len(all_projects)) + pm = Progress('Checking out projects', len(all_projects)) threads = set() sem = _threading.Semaphore(syncjobs) -- cgit v1.2.3-54-g00ecf