Merge "download: try to choose . as default project if none"
diff --git a/progress.py b/progress.py
index b08f52e..0dd5d1a 100644
--- a/progress.py
+++ b/progress.py
@@ -21,7 +21,8 @@
_NOT_TTY = not os.isatty(2)
class Progress(object):
- def __init__(self, title, total=0, units='', print_newline=False):
+ def __init__(self, title, total=0, units='', print_newline=False,
+ always_print_percentage=False):
self._title = title
self._total = total
self._done = 0
@@ -30,6 +31,7 @@
self._show = False
self._units = units
self._print_newline = print_newline
+ self._always_print_percentage = always_print_percentage
def update(self, inc=1):
self._done += inc
@@ -51,7 +53,7 @@
else:
p = (100 * self._done) / self._total
- if self._lastp != p:
+ if self._lastp != p or self._always_print_percentage:
self._lastp = p
sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)%s' % (
self._title,
diff --git a/subcmds/stage.py b/subcmds/stage.py
index 2884976..9d35426 100644
--- a/subcmds/stage.py
+++ b/subcmds/stage.py
@@ -60,8 +60,8 @@
out.nl()
for i in range(len(all_projects)):
- p = all_projects[i]
- out.write('%3d: %s', i + 1, p.relpath + '/')
+ project = all_projects[i]
+ out.write('%3d: %s', i + 1, project.relpath + '/')
out.nl()
out.nl()
diff --git a/subcmds/sync.py b/subcmds/sync.py
index d4432ce..8de730b 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -357,7 +357,8 @@
fetched = set()
lock = _threading.Lock()
pm = Progress('Fetching projects', len(projects),
- print_newline=not(opt.quiet))
+ print_newline=not(opt.quiet),
+ always_print_percentage=opt.quiet)
objdir_project_map = dict()
for project in projects:
@@ -780,8 +781,8 @@
# generate a new args list to represent the opened projects.
# TODO: make this more reliable -- if there's a project name/path overlap,
# this may choose the wrong project.
- args = [os.path.relpath(self.manifest.paths[p].worktree, os.getcwd())
- for p in opened_projects]
+ args = [os.path.relpath(self.manifest.paths[path].worktree, os.getcwd())
+ for path in opened_projects]
if not args:
return
all_projects = self.GetProjects(args,
diff --git a/subcmds/upload.py b/subcmds/upload.py
index 38c061d..fa80c3d 100644
--- a/subcmds/upload.py
+++ b/subcmds/upload.py
@@ -464,8 +464,8 @@
self.manifest.topdir,
self.manifest.manifestProject.GetRemote('origin').url,
abort_if_user_denies=True)
- pending_proj_names = [project.name for (project, avail) in pending]
- pending_worktrees = [project.worktree for (project, avail) in pending]
+ pending_proj_names = [project.name for (project, available) in pending]
+ pending_worktrees = [project.worktree for (project, available) in pending]
try:
hook.Run(opt.allow_all_hooks, project_list=pending_proj_names,
worktree_list=pending_worktrees)