From 225d6508fcd6340f1bcf126eed01a0ee97d96d05 Mon Sep 17 00:00:00 2001 From: NiceSieve <92229915+NiceSieve@users.noreply.github.com> Date: Wed, 25 May 2022 13:07:11 +0300 Subject: [PATCH] fix multiple clones with http repos HTTP repo URL is different from the project URL, causing the condition to always fail previously. --- marge/store.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/marge/store.py b/marge/store.py index 78017cac..f1a432f2 100644 --- a/marge/store.py +++ b/marge/store.py @@ -62,12 +62,12 @@ def __init__(self, user, root_dir, auth_token=None, timeout=None, reference=None def repo_for_project(self, project): repo = self._repos.get(project.id) - if not repo or repo.remote_url != project.http_url_to_repo: - credentials = "oauth2:" + self._auth_token - # insert token auth "oauth2:@" - pattern = "(http(s)?://)" - replacement = r"\1" + credentials + "@" - repo_url = re.sub(pattern, replacement, project.http_url_to_repo, 1) + credentials = "oauth2:" + self._auth_token + # insert token auth "oauth2:@" + pattern = "(http(s)?://)" + replacement = r"\1" + credentials + "@" + repo_url = re.sub(pattern, replacement, project.http_url_to_repo, 1) + if not repo or repo.remote_url != repo_url: local_repo_dir = tempfile.mkdtemp(dir=self._root_dir) repo = git.Repo(repo_url, local_repo_dir, ssh_key_file=None,