From 5afeb29c9454a0aa9f696e21f943fe4269eff29b Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Mon, 8 May 2023 20:57:19 -0700 Subject: [PATCH] Add set_repo() function to set self.repo to the single repository that all the files belong to. --- coder.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/coder.py b/coder.py index 14606b3ba..aef053f21 100755 --- a/coder.py +++ b/coder.py @@ -68,8 +68,21 @@ class Coder: self.fnames[str(fname)] = fname.stat().st_mtime + self.set_repo() self.check_for_local_edits(True) + def set_repo(self): + repo_paths = set( + git.Repo(fname, search_parent_directories=True).git_dir + for fname in self.fnames + ) + + if len(repo_paths) > 1: + repo_paths = " ".join(repo_paths) + raise ValueError(f"Files must all be in one git repo, not: {repo_paths}") + + self.repo = git.Repo(repo_paths.pop()) + self.pretty = pretty def quoted_file(self, fname):