aboutsummaryrefslogtreecommitdiff
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)
downloadrepo-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 7d6b6ce..1f5e4c3 100644
--- a/project.py
+++ b/project.py
@@ -3341,7 +3341,7 @@ class Project:
if not platform_utils.islink(dotgit) and platform_utils.isdir(dotgit):
self._MigrateOldWorkTreeGitDir(dotgit, project=self.name)
- init_dotgit = not os.path.exists(dotgit)
+ init_dotgit = not os.path.lexists(dotgit)
if self.use_git_worktrees:
if init_dotgit:
self._InitGitWorktree()