summaryrefslogtreecommitdiffstats
path: root/subcmds/init.py
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2024-03-21 12:58:01 -0400
committerLUCI <gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com>2024-03-21 21:20:50 +0000
commit4406642e20d2b984631e6099664058013095ce49 (patch)
tree1110d5f6d97d238eca58405af96f9d1e1324be80 /subcmds/init.py
parent73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed (diff)
downloadgit-repo-4406642e20d2b984631e6099664058013095ce49.tar.gz
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 <sokcevic@google.com> Commit-Queue: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'subcmds/init.py')
-rw-r--r--subcmds/init.py14
1 files changed, 8 insertions, 6 deletions
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
21from error import RepoUnhandledExceptionError 21from error import RepoUnhandledExceptionError
22from error import UpdateManifestError 22from error import UpdateManifestError
23from git_command import git_require 23from git_command import git_require
24from git_command import MIN_GIT_VERSION_HARD
25from git_command import MIN_GIT_VERSION_SOFT
26from repo_logging import RepoLogger 24from repo_logging import RepoLogger
27from wrapper import Wrapper 25from wrapper import Wrapper
26from wrapper import WrapperDir
28 27
29 28
30logger = RepoLogger(__file__) 29logger = RepoLogger(__file__)
@@ -331,13 +330,17 @@ to update the working directory files.
331 self.OptionParser.error("too many arguments to init") 330 self.OptionParser.error("too many arguments to init")
332 331
333 def Execute(self, opt, args): 332 def Execute(self, opt, args):
334 git_require(MIN_GIT_VERSION_HARD, fail=True) 333 wrapper = Wrapper()
335 if not git_require(MIN_GIT_VERSION_SOFT): 334
335 reqs = wrapper.Requirements.from_dir(WrapperDir())
336 git_require(reqs.get_hard_ver("git"), fail=True)
337 min_git_version_soft = reqs.get_soft_ver("git")
338 if not git_require(min_git_version_soft):
336 logger.warning( 339 logger.warning(
337 "repo: warning: git-%s+ will soon be required; " 340 "repo: warning: git-%s+ will soon be required; "
338 "please upgrade your version of git to maintain " 341 "please upgrade your version of git to maintain "
339 "support.", 342 "support.",
340 ".".join(str(x) for x in MIN_GIT_VERSION_SOFT), 343 ".".join(str(x) for x in min_git_version_soft),
341 ) 344 )
342 345
343 rp = self.manifest.repoProject 346 rp = self.manifest.repoProject
@@ -350,7 +353,6 @@ to update the working directory files.
350 353
351 # Handle new --repo-rev requests. 354 # Handle new --repo-rev requests.
352 if opt.repo_rev: 355 if opt.repo_rev:
353 wrapper = Wrapper()
354 try: 356 try:
355 remote_ref, rev = wrapper.check_repo_rev( 357 remote_ref, rev = wrapper.check_repo_rev(
356 rp.worktree, 358 rp.worktree,