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 <rtenneti@google.com>
Tested-by: Mike Frysinger <vapier@google.com>
diff --git a/main.py b/main.py
index 1f3a768..32ad0ff 100755
--- a/main.py
+++ b/main.py
@@ -195,23 +195,25 @@
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: