Skip to content

Commit 295636a

Browse files
committed
Add more granularity to git progress
1 parent 8a3d686 commit 295636a

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

mbed/mbed.py

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -444,17 +444,9 @@ def clone(url, name=None, depth=None, protocol=None):
444444
if verbose or very_verbose:
445445
popen([hg_cmd, 'clone', formaturl(url, protocol), name] + (['-v'] if very_verbose else ([] if verbose else ['-q'])))
446446
else:
447-
pquery([hg_cmd, 'clone', '--config', 'progress.assume-tty=true', formaturl(url, protocol), name], output_callback=Hg.clone_progress)
447+
pquery([hg_cmd, 'clone', '--config', 'progress.assume-tty=true', formaturl(url, protocol), name], output_callback=Hg.action_progress)
448448
hide_progress()
449449

450-
def clone_progress(line, sep):
451-
m = re.match(r'(\w+).+?\s+(\d+)/(\d+)\s+.*?', line)
452-
if m:
453-
if m.group(1) == "manifests":
454-
show_progress('Downloading', (float(m.group(2)) / float(m.group(3))) * 20)
455-
if m.group(1) == "files":
456-
show_progress('Downloading', (float(m.group(2)) / float(m.group(3))) * 100)
457-
458450
def add(dest):
459451
info("Adding reference \"%s\"" % dest)
460452
try:
@@ -641,6 +633,15 @@ def unignore(dest):
641633
except IOError:
642634
error("Unable to write ignore file in \"%s\"" % os.path.join(getcwd(), Hg.ignore_file), 1)
643635

636+
def action_progress(line, sep):
637+
m = re.match(r'(\w+).+?\s+(\d+)/(\d+)\s+.*?', line)
638+
if m:
639+
if m.group(1) == "manifests":
640+
show_progress('Downloading', (float(m.group(2)) / float(m.group(3))) * 20)
641+
if m.group(1) == "files":
642+
show_progress('Downloading', (float(m.group(2)) / float(m.group(3))) * 100)
643+
644+
644645
# pylint: disable=no-self-argument, no-method-argument, no-member, no-self-use, unused-argument
645646
@scm('git')
646647
@staticclass
@@ -677,21 +678,9 @@ def clone(url, name=None, depth=None, protocol=None):
677678
if verbose or very_verbose:
678679
popen([git_cmd, 'clone', formaturl(url, protocol), name] + (['--depth', depth] if depth else []) + (['-v'] if very_verbose else ([] if verbose else ['-q'])))
679680
else:
680-
pquery([git_cmd, 'clone', '--progress', formaturl(url, protocol), name] + (['--depth', depth] if depth else []), output_callback=Git.clone_progress)
681+
pquery([git_cmd, 'clone', '--progress', formaturl(url, protocol), name] + (['--depth', depth] if depth else []), output_callback=Git.action_progress)
681682
hide_progress()
682683

683-
def clone_progress(line, sep):
684-
m = re.match(r'([\w :]+)\:\s*(\d+)% \((\d+)/(\d+)\)', line)
685-
if m:
686-
if m.group(1) == "remote: Compressing objects" and int(m.group(4)) > 10:
687-
show_progress('Preparing', (float(m.group(3)) / float(m.group(4))) * 100)
688-
if m.group(1) == "Receiving objects":
689-
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 80)
690-
if m.group(1) == "Resolving deltas":
691-
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 10 + 80)
692-
if m.group(1) == "Checking out files":
693-
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 10 + 90)
694-
695684
def add(dest):
696685
info("Adding reference "+dest)
697686
try:
@@ -951,6 +940,19 @@ def unignore(dest):
951940
except IOError:
952941
error("Unable to write ignore file in \"%s\"" % os.path.join(getcwd(), Git.ignore_file), 1)
953942

943+
def action_progress(line, sep):
944+
m = re.match(r'([\w :]+)\:\s*(\d+)% \((\d+)/(\d+)\)', line)
945+
if m:
946+
if m.group(1) == "remote: Compressing objects" and int(m.group(4)) > 100:
947+
show_progress('Preparing', (float(m.group(3)) / float(m.group(4))) * 100)
948+
if m.group(1) == "Receiving objects":
949+
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 80)
950+
if m.group(1) == "Resolving deltas":
951+
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 10 + 80)
952+
if m.group(1) == "Checking out files":
953+
show_progress('Downloading', (float(m.group(3)) / float(m.group(4))) * 10 + 90)
954+
955+
954956
# Repository object
955957
class Repo(object):
956958
is_local = False

0 commit comments

Comments
 (0)