From d58d0dd3bf40f2c5e754c8a0a622c7d4e58425b8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 14 Jun 2021 16:17:27 -0400 Subject: commands: pass settings via __init__ Instead of setting properties on the instantiated command, pass them via the constructor like normal objects. Change-Id: I8787499bd2be68565875ffe243c3cf2024b36ae7 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/309324 Reviewed-by: Raman Tenneti Tested-by: Mike Frysinger --- main.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 1f3a7683..32ad0ff6 100755 --- a/main.py +++ b/main.py @@ -195,23 +195,25 @@ class _Repo(object): SetDefaultColoring(gopts.color) + git_trace2_event_log = EventLog() + repo_client = RepoClient(self.repodir) + gitc_manifest = None + gitc_client_name = gitc_utils.parse_clientdir(os.getcwd()) + if gitc_client_name: + gitc_manifest = GitcClient(self.repodir, gitc_client_name) + repo_client.isGitcClient = True + try: - cmd = self.commands[name]() + cmd = self.commands[name]( + repodir=self.repodir, + client=repo_client, + manifest=repo_client.manifest, + gitc_manifest=gitc_manifest) except KeyError: print("repo: '%s' is not a repo command. See 'repo help'." % name, file=sys.stderr) return 1 - git_trace2_event_log = EventLog() - cmd.repodir = self.repodir - cmd.client = RepoClient(cmd.repodir) - cmd.manifest = cmd.client.manifest - cmd.gitc_manifest = None - gitc_client_name = gitc_utils.parse_clientdir(os.getcwd()) - if gitc_client_name: - cmd.gitc_manifest = GitcClient(cmd.repodir, gitc_client_name) - cmd.client.isGitcClient = True - Editor.globalConfig = cmd.client.globalConfig if not isinstance(cmd, MirrorSafeCommand) and cmd.manifest.IsMirror: -- cgit v1.2.3-54-g00ecf