summaryrefslogtreecommitdiffstats
path: root/progress.py
diff options
context:
space:
mode:
authorGavin Mak <gavinmak@google.com>2025-06-13 17:53:38 -0700
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2025-06-18 10:26:27 -0700
commit7b6ffed4ae3102b7c90592eeff8e28855cc25c11 (patch)
tree13be6b1470be5f3a2fad04797813936c034bb024 /progress.py
parentb4b323a8bd02d52d060f7f6fa15ba045df5af5b2 (diff)
downloadgit-repo-7b6ffed4ae3102b7c90592eeff8e28855cc25c11.tar.gz
sync: Implement --interleaved sync worker
For each assigned project, the worker sequentially calls Sync_NetworkHalf and Sync_LocalHalf, respecting --local-only and --network-only flags. To prevent scrambled progress bars, all stderr output from the checkout phase is captured (shown with --verbose). Result objects now carry status and timing information from the worker for state updates. Bug: 421935613 Change-Id: I398602e08a375e974a8914e5fa48ffae673dda9b Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/483301 Commit-Queue: Gavin Mak <gavinmak@google.com> Reviewed-by: Scott Lee <ddoman@google.com> Tested-by: Gavin Mak <gavinmak@google.com>
Diffstat (limited to 'progress.py')
-rw-r--r--progress.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/progress.py b/progress.py
index fe246c74..a386f426 100644
--- a/progress.py
+++ b/progress.py
@@ -195,6 +195,21 @@ class Progress:
195 ) 195 )
196 ) 196 )
197 197
198 def display_message(self, msg):
199 """Clears the current progress line and prints a message above it.
200
201 The progress bar is then redrawn on the next line.
202 """
203 if not _TTY or IsTraceToStderr() or self._quiet:
204 return
205
206 # Erase the current line, print the message with a newline,
207 # and then immediately redraw the progress bar on the new line.
208 sys.stderr.write("\r" + CSI_ERASE_LINE)
209 sys.stderr.write(msg + "\n")
210 sys.stderr.flush()
211 self.update(inc=0)
212
198 def end(self): 213 def end(self):
199 self._update_event.set() 214 self._update_event.set()
200 if not _TTY or IsTraceToStderr() or self._quiet: 215 if not _TTY or IsTraceToStderr() or self._quiet: