summaryrefslogtreecommitdiffstats
path: root/progress.py
diff options
context:
space:
mode:
authorGavin Mak <gavinmak@google.com>2025-06-26 18:08:34 +0000
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2025-07-02 13:11:23 -0700
commit5d95ba8d85e189c25195beae9431d5f6823e083a (patch)
treeb928b8a4f7ad74bc0140bc3564aaf7ae750d993f /progress.py
parent82d500eb7aa93f9bff66a4358a08d2ba2d599550 (diff)
downloadgit-repo-5d95ba8d85e189c25195beae9431d5f6823e083a.tar.gz
progress: Make end() idempotentmain
This fixes the double "done" text on successful interleaved sync. Bug: 421935613 Change-Id: I4f01418cb0340129a8f0a2a5835f7e3fa6a6b119 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/487081 Reviewed-by: Scott Lee <ddoman@google.com> Tested-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com>
Diffstat (limited to 'progress.py')
-rw-r--r--progress.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/progress.py b/progress.py
index a386f426..31a4890a 100644
--- a/progress.py
+++ b/progress.py
@@ -101,6 +101,7 @@ class Progress:
101 self._units = units 101 self._units = units
102 self._elide = elide and _TTY 102 self._elide = elide and _TTY
103 self._quiet = quiet 103 self._quiet = quiet
104 self._ended = False
104 105
105 # Only show the active jobs section if we run more than one in parallel. 106 # Only show the active jobs section if we run more than one in parallel.
106 self._show_jobs = False 107 self._show_jobs = False
@@ -211,6 +212,10 @@ class Progress:
211 self.update(inc=0) 212 self.update(inc=0)
212 213
213 def end(self): 214 def end(self):
215 if self._ended:
216 return
217 self._ended = True
218
214 self._update_event.set() 219 self._update_event.set()
215 if not _TTY or IsTraceToStderr() or self._quiet: 220 if not _TTY or IsTraceToStderr() or self._quiet:
216 return 221 return