From 4406642e20d2b984631e6099664058013095ce49 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 21 Mar 2024 12:58:01 -0400 Subject: git_command: unify soft/hard versions with requirements.json Use the requirements logic in the wrapper to load versions out of the requirements.json file to avoid duplicating them in git_command.py. Change-Id: Ib479049fc54ebc6f52c2c30d1315cf1734ff1990 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/415617 Reviewed-by: Josip Sokcevic Commit-Queue: Mike Frysinger Tested-by: Mike Frysinger --- subcmds/init.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'subcmds/init.py') diff --git a/subcmds/init.py b/subcmds/init.py index e53d0338..7617bc1f 100644 --- a/subcmds/init.py +++ b/subcmds/init.py @@ -21,10 +21,9 @@ from command import MirrorSafeCommand from error import RepoUnhandledExceptionError from error import UpdateManifestError from git_command import git_require -from git_command import MIN_GIT_VERSION_HARD -from git_command import MIN_GIT_VERSION_SOFT from repo_logging import RepoLogger from wrapper import Wrapper +from wrapper import WrapperDir logger = RepoLogger(__file__) @@ -331,13 +330,17 @@ to update the working directory files. self.OptionParser.error("too many arguments to init") def Execute(self, opt, args): - git_require(MIN_GIT_VERSION_HARD, fail=True) - if not git_require(MIN_GIT_VERSION_SOFT): + wrapper = Wrapper() + + reqs = wrapper.Requirements.from_dir(WrapperDir()) + git_require(reqs.get_hard_ver("git"), fail=True) + min_git_version_soft = reqs.get_soft_ver("git") + if not git_require(min_git_version_soft): logger.warning( "repo: warning: git-%s+ will soon be required; " "please upgrade your version of git to maintain " "support.", - ".".join(str(x) for x in MIN_GIT_VERSION_SOFT), + ".".join(str(x) for x in min_git_version_soft), ) rp = self.manifest.repoProject @@ -350,7 +353,6 @@ to update the working directory files. # Handle new --repo-rev requests. if opt.repo_rev: - wrapper = Wrapper() try: remote_ref, rev = wrapper.check_repo_rev( rp.worktree, -- cgit v1.2.3-54-g00ecf