Skip to content

Commit 77cde00

Browse files
committed
remote.py: improved push-progress parsin to better deal with messages ( i.e. throughput )
1 parent d86e77e commit 77cde00

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

lib/git/remote.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ class PushProgress(object):
4848
OP_MASK = COUNTING|COMPRESSING|WRITING
4949

5050
__slots__ = ("_cur_line", "_seen_ops")
51-
re_op_absolute = re.compile("([\w\s]+):\s+()(\d+)()(, done\.)?\s*")
52-
re_op_relative = re.compile("([\w\s]+):\s+(\d+)% \((\d+)/(\d+)\)(,.* done\.)?$")
51+
re_op_absolute = re.compile("([\w\s]+):\s+()(\d+)()(.*)")
52+
re_op_relative = re.compile("([\w\s]+):\s+(\d+)% \((\d+)/(\d+)\)(.*)")
5353

5454
def __init__(self):
5555
self._seen_ops = list()
@@ -77,7 +77,7 @@ def _parse_progress_line(self, line):
7777
# END could not get match
7878

7979
op_code = 0
80-
op_name, percent, cur_count, max_count, done = match.groups()
80+
op_name, percent, cur_count, max_count, message = match.groups()
8181
# get operation id
8282
if op_name == "Counting objects":
8383
op_code |= self.COUNTING
@@ -94,11 +94,16 @@ def _parse_progress_line(self, line):
9494
op_code |= self.BEGIN
9595
# END begin opcode
9696

97-
message = ''
98-
if done is not None and 'done.' in done:
97+
if message is None:
98+
message = ''
99+
# END message handling
100+
101+
message = message.strip()
102+
done_token = ', done.'
103+
if message.endswith(done_token):
99104
op_code |= self.END
100-
message = done.replace( ", done.", "")[2:]
101-
# END end flag handling
105+
message = message[:-len(done_token)]
106+
# END end message handling
102107

103108
self.update(op_code, cur_count, max_count, message)
104109

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy