diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -249,7 +249,7 @@ class _LinkFile(object): | |||
249 | if not os.path.islink(absDest) or (os.readlink(absDest) != relSrc): | 249 | if not os.path.islink(absDest) or (os.readlink(absDest) != relSrc): |
250 | try: | 250 | try: |
251 | # remove existing file first, since it might be read-only | 251 | # remove existing file first, since it might be read-only |
252 | if os.path.exists(absDest): | 252 | if os.path.lexists(absDest): |
253 | os.remove(absDest) | 253 | os.remove(absDest) |
254 | else: | 254 | else: |
255 | dest_dir = os.path.dirname(absDest) | 255 | dest_dir = os.path.dirname(absDest) |
@@ -1110,7 +1110,8 @@ class Project(object): | |||
1110 | clone_bundle=True, | 1110 | clone_bundle=True, |
1111 | no_tags=False, | 1111 | no_tags=False, |
1112 | archive=False, | 1112 | archive=False, |
1113 | optimized_fetch=False): | 1113 | optimized_fetch=False, |
1114 | prune=False): | ||
1114 | """Perform only the network IO portion of the sync process. | 1115 | """Perform only the network IO portion of the sync process. |
1115 | Local working directory/branch state is not affected. | 1116 | Local working directory/branch state is not affected. |
1116 | """ | 1117 | """ |
@@ -1181,7 +1182,7 @@ class Project(object): | |||
1181 | if (need_to_fetch | 1182 | if (need_to_fetch |
1182 | and not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir, | 1183 | and not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir, |
1183 | current_branch_only=current_branch_only, | 1184 | current_branch_only=current_branch_only, |
1184 | no_tags=no_tags)): | 1185 | no_tags=no_tags, prune=prune)): |
1185 | return False | 1186 | return False |
1186 | 1187 | ||
1187 | if self.worktree: | 1188 | if self.worktree: |
@@ -1795,7 +1796,8 @@ class Project(object): | |||
1795 | initial=False, | 1796 | initial=False, |
1796 | quiet=False, | 1797 | quiet=False, |
1797 | alt_dir=None, | 1798 | alt_dir=None, |
1798 | no_tags=False): | 1799 | no_tags=False, |
1800 | prune=False): | ||
1799 | 1801 | ||
1800 | is_sha1 = False | 1802 | is_sha1 = False |
1801 | tag_name = None | 1803 | tag_name = None |
@@ -1908,6 +1910,9 @@ class Project(object): | |||
1908 | else: | 1910 | else: |
1909 | cmd.append('--tags') | 1911 | cmd.append('--tags') |
1910 | 1912 | ||
1913 | if prune: | ||
1914 | cmd.append('--prune') | ||
1915 | |||
1911 | spec = [] | 1916 | spec = [] |
1912 | if not current_branch_only: | 1917 | if not current_branch_only: |
1913 | # Fetch whole repo | 1918 | # Fetch whole repo |