diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -1277,7 +1277,20 @@ class Project: | |||
1277 | if is_new: | 1277 | if is_new: |
1278 | self._InitGitDir(force_sync=force_sync, quiet=quiet) | 1278 | self._InitGitDir(force_sync=force_sync, quiet=quiet) |
1279 | else: | 1279 | else: |
1280 | self._UpdateHooks(quiet=quiet) | 1280 | try: |
1281 | # At this point, it's possible that gitdir points to an old | ||
1282 | # objdir (e.g. name changed, but objdir exists). Check | ||
1283 | # references to ensure that's not the case. See | ||
1284 | # https://issues.gerritcodereview.com/40013418 for more | ||
1285 | # details. | ||
1286 | self._CheckDirReference(self.objdir, self.gitdir) | ||
1287 | |||
1288 | self._UpdateHooks(quiet=quiet) | ||
1289 | except GitError as e: | ||
1290 | if not force_sync: | ||
1291 | raise e | ||
1292 | # Let _InitGitDir fix the issue, force_sync is always True here. | ||
1293 | self._InitGitDir(force_sync=True, quiet=quiet) | ||
1281 | self._InitRemote() | 1294 | self._InitRemote() |
1282 | 1295 | ||
1283 | if self.UseAlternates: | 1296 | if self.UseAlternates: |