Merge "Fix: local manifest deprecation warning appears more than once"
diff --git a/color.py b/color.py
index d856313..7970198 100644
--- a/color.py
+++ b/color.py
@@ -126,6 +126,13 @@
s._out.write(c(fmt, *args))
return f
+ def nofmt_printer(self, opt=None, fg=None, bg=None, attr=None):
+ s = self
+ c = self.nofmt_colorer(opt, fg, bg, attr)
+ def f(fmt):
+ s._out.write(c(fmt))
+ return f
+
def colorer(self, opt=None, fg=None, bg=None, attr=None):
if self._on:
c = self._parse(opt, fg, bg, attr)
@@ -138,6 +145,17 @@
return fmt % args
return f
+ def nofmt_colorer(self, opt=None, fg=None, bg=None, attr=None):
+ if self._on:
+ c = self._parse(opt, fg, bg, attr)
+ def f(fmt):
+ return ''.join([c, fmt, RESET])
+ return f
+ else:
+ def f(fmt):
+ return fmt
+ return f
+
def _parse(self, opt, fg, bg, attr):
if not opt:
return _Color(fg, bg, attr)
diff --git a/project.py b/project.py
index ba7898e..22e4a5d 100644
--- a/project.py
+++ b/project.py
@@ -946,6 +946,11 @@
dest_branch)
if auto_topic:
ref_spec = ref_spec + '/' + branch.name
+ if not url.startswith('ssh://'):
+ rp = ['r=%s' % p for p in people[0]] + \
+ ['cc=%s' % p for p in people[1]]
+ if rp:
+ ref_spec = ref_spec + '%' + ','.join(rp)
cmd.append(ref_spec)
if GitCommand(self, cmd, bare = True).Wait() != 0:
@@ -963,7 +968,8 @@
quiet=False,
is_new=None,
current_branch_only=False,
- clone_bundle=True):
+ clone_bundle=True,
+ no_tags=False):
"""Perform only the network IO portion of the sync process.
Local working directory/branch state is not affected.
"""
@@ -1001,7 +1007,8 @@
current_branch_only = True
if not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir,
- current_branch_only=current_branch_only):
+ current_branch_only=current_branch_only,
+ no_tags=no_tags):
return False
if self.worktree:
@@ -1551,7 +1558,8 @@
current_branch_only=False,
initial=False,
quiet=False,
- alt_dir=None):
+ alt_dir=None,
+ no_tags=False):
is_sha1 = False
tag_name = None
@@ -1644,7 +1652,10 @@
if not current_branch_only:
# Fetch whole repo
- cmd.append('--tags')
+ if no_tags:
+ cmd.append('--no-tags')
+ else:
+ cmd.append('--tags')
cmd.append((u'+refs/heads/*:') + remote.ToLocal('refs/heads/*'))
elif tag_name is not None:
cmd.append('tag')
diff --git a/subcmds/info.py b/subcmds/info.py
index a6eba88..8fb363f 100644
--- a/subcmds/info.py
+++ b/subcmds/info.py
@@ -48,7 +48,7 @@
self.headtext = self.out.printer('headtext', fg = 'yellow')
self.redtext = self.out.printer('redtext', fg = 'red')
self.sha = self.out.printer("sha", fg = 'yellow')
- self.text = self.out.printer('text')
+ self.text = self.out.nofmt_printer('text')
self.dimtext = self.out.printer('dimtext', attr = 'dim')
self.opt = opt
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 228a279..5c369a7 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -189,6 +189,9 @@
p.add_option('--fetch-submodules',
dest='fetch_submodules', action='store_true',
help='fetch submodules from server')
+ p.add_option('--no-tags',
+ dest='no_tags', action='store_true',
+ help="don't fetch tags")
if show_smart:
p.add_option('-s', '--smart-sync',
dest='smart_sync', action='store_true',
@@ -235,7 +238,8 @@
success = project.Sync_NetworkHalf(
quiet=opt.quiet,
current_branch_only=opt.current_branch_only,
- clone_bundle=not opt.no_clone_bundle)
+ clone_bundle=not opt.no_clone_bundle,
+ no_tags=opt.no_tags)
self._fetch_times.Set(project, time.time() - start)
# Lock around all the rest of the code, since printing, updating a set
@@ -273,7 +277,8 @@
if project.Sync_NetworkHalf(
quiet=opt.quiet,
current_branch_only=opt.current_branch_only,
- clone_bundle=not opt.no_clone_bundle):
+ clone_bundle=not opt.no_clone_bundle,
+ no_tags=opt.no_tags):
fetched.add(project.gitdir)
else:
print('error: Cannot fetch %s' % project.name, file=sys.stderr)
@@ -558,7 +563,8 @@
if not opt.local_only:
mp.Sync_NetworkHalf(quiet=opt.quiet,
- current_branch_only=opt.current_branch_only)
+ current_branch_only=opt.current_branch_only,
+ no_tags=opt.no_tags)
if mp.HasChanges:
syncbuf = SyncBuffer(mp.config)