Add --no-tags option to prevent fetching of tags

Add an option to pass `--no-tags' to `git fetch'.

Change-Id: I4158cc369773e08e55a167091c38ca304a197587
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
This commit is contained in:
Mitchel Humpherys 2012-10-29 10:18:34 -07:00 committed by David Pursehouse
parent 75b4c2deac
commit 597868b4c4
2 changed files with 19 additions and 7 deletions

View File

@ -963,7 +963,8 @@ class Project(object):
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 +1002,8 @@ class Project(object):
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 +1553,8 @@ class Project(object):
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 +1647,10 @@ class Project(object):
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')

View File

@ -189,6 +189,9 @@ later is required to fix a server side protocol bug.
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 @@ later is required to fix a server side protocol bug.
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 @@ later is required to fix a server side protocol bug.
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 @@ later is required to fix a server side protocol bug.
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)