diff options
| -rw-r--r-- | project.py | 14 | ||||
| -rw-r--r-- | subcmds/sync.py | 12 |
2 files changed, 19 insertions, 7 deletions
| @@ -963,7 +963,8 @@ class Project(object): | |||
| 963 | quiet=False, | 963 | quiet=False, |
| 964 | is_new=None, | 964 | is_new=None, |
| 965 | current_branch_only=False, | 965 | current_branch_only=False, |
| 966 | clone_bundle=True): | 966 | clone_bundle=True, |
| 967 | no_tags=False): | ||
| 967 | """Perform only the network IO portion of the sync process. | 968 | """Perform only the network IO portion of the sync process. |
| 968 | Local working directory/branch state is not affected. | 969 | Local working directory/branch state is not affected. |
| 969 | """ | 970 | """ |
| @@ -1001,7 +1002,8 @@ class Project(object): | |||
| 1001 | current_branch_only = True | 1002 | current_branch_only = True |
| 1002 | 1003 | ||
| 1003 | if not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir, | 1004 | if not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir, |
| 1004 | current_branch_only=current_branch_only): | 1005 | current_branch_only=current_branch_only, |
| 1006 | no_tags=no_tags): | ||
| 1005 | return False | 1007 | return False |
| 1006 | 1008 | ||
| 1007 | if self.worktree: | 1009 | if self.worktree: |
| @@ -1551,7 +1553,8 @@ class Project(object): | |||
| 1551 | current_branch_only=False, | 1553 | current_branch_only=False, |
| 1552 | initial=False, | 1554 | initial=False, |
| 1553 | quiet=False, | 1555 | quiet=False, |
| 1554 | alt_dir=None): | 1556 | alt_dir=None, |
| 1557 | no_tags=False): | ||
| 1555 | 1558 | ||
| 1556 | is_sha1 = False | 1559 | is_sha1 = False |
| 1557 | tag_name = None | 1560 | tag_name = None |
| @@ -1644,7 +1647,10 @@ class Project(object): | |||
| 1644 | 1647 | ||
| 1645 | if not current_branch_only: | 1648 | if not current_branch_only: |
| 1646 | # Fetch whole repo | 1649 | # Fetch whole repo |
| 1647 | cmd.append('--tags') | 1650 | if no_tags: |
| 1651 | cmd.append('--no-tags') | ||
| 1652 | else: | ||
| 1653 | cmd.append('--tags') | ||
| 1648 | cmd.append((u'+refs/heads/*:') + remote.ToLocal('refs/heads/*')) | 1654 | cmd.append((u'+refs/heads/*:') + remote.ToLocal('refs/heads/*')) |
| 1649 | elif tag_name is not None: | 1655 | elif tag_name is not None: |
| 1650 | cmd.append('tag') | 1656 | cmd.append('tag') |
diff --git a/subcmds/sync.py b/subcmds/sync.py index 228a279a..5c369a74 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -189,6 +189,9 @@ later is required to fix a server side protocol bug. | |||
| 189 | p.add_option('--fetch-submodules', | 189 | p.add_option('--fetch-submodules', |
| 190 | dest='fetch_submodules', action='store_true', | 190 | dest='fetch_submodules', action='store_true', |
| 191 | help='fetch submodules from server') | 191 | help='fetch submodules from server') |
| 192 | p.add_option('--no-tags', | ||
| 193 | dest='no_tags', action='store_true', | ||
| 194 | help="don't fetch tags") | ||
| 192 | if show_smart: | 195 | if show_smart: |
| 193 | p.add_option('-s', '--smart-sync', | 196 | p.add_option('-s', '--smart-sync', |
| 194 | dest='smart_sync', action='store_true', | 197 | dest='smart_sync', action='store_true', |
| @@ -235,7 +238,8 @@ later is required to fix a server side protocol bug. | |||
| 235 | success = project.Sync_NetworkHalf( | 238 | success = project.Sync_NetworkHalf( |
| 236 | quiet=opt.quiet, | 239 | quiet=opt.quiet, |
| 237 | current_branch_only=opt.current_branch_only, | 240 | current_branch_only=opt.current_branch_only, |
| 238 | clone_bundle=not opt.no_clone_bundle) | 241 | clone_bundle=not opt.no_clone_bundle, |
| 242 | no_tags=opt.no_tags) | ||
| 239 | self._fetch_times.Set(project, time.time() - start) | 243 | self._fetch_times.Set(project, time.time() - start) |
| 240 | 244 | ||
| 241 | # Lock around all the rest of the code, since printing, updating a set | 245 | # 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. | |||
| 273 | if project.Sync_NetworkHalf( | 277 | if project.Sync_NetworkHalf( |
| 274 | quiet=opt.quiet, | 278 | quiet=opt.quiet, |
| 275 | current_branch_only=opt.current_branch_only, | 279 | current_branch_only=opt.current_branch_only, |
| 276 | clone_bundle=not opt.no_clone_bundle): | 280 | clone_bundle=not opt.no_clone_bundle, |
| 281 | no_tags=opt.no_tags): | ||
| 277 | fetched.add(project.gitdir) | 282 | fetched.add(project.gitdir) |
| 278 | else: | 283 | else: |
| 279 | print('error: Cannot fetch %s' % project.name, file=sys.stderr) | 284 | print('error: Cannot fetch %s' % project.name, file=sys.stderr) |
| @@ -558,7 +563,8 @@ later is required to fix a server side protocol bug. | |||
| 558 | 563 | ||
| 559 | if not opt.local_only: | 564 | if not opt.local_only: |
| 560 | mp.Sync_NetworkHalf(quiet=opt.quiet, | 565 | mp.Sync_NetworkHalf(quiet=opt.quiet, |
| 561 | current_branch_only=opt.current_branch_only) | 566 | current_branch_only=opt.current_branch_only, |
| 567 | no_tags=opt.no_tags) | ||
| 562 | 568 | ||
| 563 | if mp.HasChanges: | 569 | if mp.HasChanges: |
| 564 | syncbuf = SyncBuffer(mp.config) | 570 | syncbuf = SyncBuffer(mp.config) |
