check repo remote is correct, skip if repo already exists
diff --git a/configure.py b/configure.py index 2947f73..9ba1bbf 100755 --- a/configure.py +++ b/configure.py
@@ -62,7 +62,6 @@ if filler is False: logging.info(f"cloning & fetching gds for {project}") project.clone() - project.fetch_gds() # projects should now be installed, so load all the data from the yaml files logging.debug("loading project yaml") @@ -220,12 +219,20 @@ return top_verilog[0] def clone(self): - # could check if it already exists and then skip for faster local builds - try: + if os.path.exists(self.local_dir): + git_remote = list(git.Repo(self.local_dir).remotes[0].urls)[0] + if self.git_url == git_remote: + logging.info("git repo already exists and is correct - skipping") + else: + logging.error("git repo exists and remote doesn't match - abort") + logging.error(f"{self.git_url} != {git_remote}") + exit(1) + else: + logging.info("clone") git.Repo.clone_from(self.git_url, self.local_dir) - except git.exc.GitCommandError as e: - if 'already exists' in str(e): - logging.info("already exists") + + # also fetch the gds + self.fetch_gds() def update(self): # do a pull