summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosip Sokcevic <sokcevic@chromium.org>2024-03-20 21:48:34 +0000
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-03-20 22:09:14 +0000
commit73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed (patch)
tree15128efb3204b0db4bb1a8959747da0d1ca86fd3
parent09fc214a7966a982ab837aedd010e3732c5ed7d1 (diff)
downloadgit-repo-stable.tar.gz
project: Check if dotgit exists w/out symlink checkv2.45stable
os.path.exists returns false on a broken symlink. This is not what repo needs when checking if a project is setup properly. For example, if src/foo/.git can't be resolved, repo tries to create symlink and that results in FileExistsError. Use lexists which returns True even if symlink is broken. That will force path where repo checks where symlink is pointing to and will fix it to the correct location. Bug: b/281746795 Change-Id: Id3f7dc3a3cb6499d02ce7335eca992ddc7deb645 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415197 Tested-by: Josip Sokcevic <sokcevic@google.com> Commit-Queue: Josip Sokcevic <sokcevic@google.com> Reviewed-by: George Engelbrecht <engeg@google.com> Reviewed-by: Greg Edelston <gredelston@google.com>
-rw-r--r--project.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/project.py b/project.py
index 7d6b6cea..1f5e4c35 100644
--- a/project.py
+++ b/project.py
@@ -3341,7 +3341,7 @@ class Project:
3341 if not platform_utils.islink(dotgit) and platform_utils.isdir(dotgit): 3341 if not platform_utils.islink(dotgit) and platform_utils.isdir(dotgit):
3342 self._MigrateOldWorkTreeGitDir(dotgit, project=self.name) 3342 self._MigrateOldWorkTreeGitDir(dotgit, project=self.name)
3343 3343
3344 init_dotgit = not os.path.exists(dotgit) 3344 init_dotgit = not os.path.lexists(dotgit)
3345 if self.use_git_worktrees: 3345 if self.use_git_worktrees:
3346 if init_dotgit: 3346 if init_dotgit:
3347 self._InitGitWorktree() 3347 self._InitGitWorktree()