Sync: Add option to prune refs during sync
By passing --prune to the sync command, the --prune option is
given to the `git fetch`, causing refs that no longer exist on
the remote to be removed.
Change-Id: I3cedacce14276d96ac2d5aabf2d07fd05e92bc02
diff --git a/project.py b/project.py
index 5d8f61e..0808af4 100644
--- a/project.py
+++ b/project.py
@@ -1110,7 +1110,8 @@
clone_bundle=True,
no_tags=False,
archive=False,
- optimized_fetch=False):
+ optimized_fetch=False,
+ prune=False):
"""Perform only the network IO portion of the sync process.
Local working directory/branch state is not affected.
"""
@@ -1181,7 +1182,7 @@
if (need_to_fetch
and not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir,
current_branch_only=current_branch_only,
- no_tags=no_tags)):
+ no_tags=no_tags, prune=prune)):
return False
if self.worktree:
@@ -1795,7 +1796,8 @@
initial=False,
quiet=False,
alt_dir=None,
- no_tags=False):
+ no_tags=False,
+ prune=False):
is_sha1 = False
tag_name = None
@@ -1908,6 +1910,9 @@
else:
cmd.append('--tags')
+ if prune:
+ cmd.append('--prune')
+
spec = []
if not current_branch_only:
# Fetch whole repo