Skip to content

Commit 3f5ac79

Browse files
authored
Merge pull request #13365 from ByteB4rb1e/feature/13329
2 parents e6db004 + 323fb8c commit 3f5ac79

File tree

7 files changed

+528
-27
lines changed

7 files changed

+528
-27
lines changed

news/13329.feature.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
consistently pass verbosity flag to VCS module

src/pip/_internal/vcs/bazaar.py

+21-4
Original file line numberDiff line numberDiff line change
@@ -55,20 +55,37 @@ def fetch_new(
5555
)
5656
self.run_command(cmd_args)
5757

58-
def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
58+
def switch(
59+
self,
60+
dest: str,
61+
url: HiddenText,
62+
rev_options: RevOptions,
63+
verbosity: int = 0,
64+
) -> None:
5965
self.run_command(make_command("switch", url), cwd=dest)
6066

61-
def update(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
67+
def update(
68+
self,
69+
dest: str,
70+
url: HiddenText,
71+
rev_options: RevOptions,
72+
verbosity: int = 0,
73+
) -> None:
74+
flags = []
75+
76+
if verbosity <= 0:
77+
flags.append("-q")
78+
6279
output = self.run_command(
6380
make_command("info"), show_stdout=False, stdout_only=True, cwd=dest
6481
)
6582
if output.startswith("Standalone "):
6683
# Older versions of pip used to create standalone branches.
6784
# Convert the standalone branch to a checkout by calling "bzr bind".
68-
cmd_args = make_command("bind", "-q", url)
85+
cmd_args = make_command("bind", *flags, url)
6986
self.run_command(cmd_args, cwd=dest)
7087

71-
cmd_args = make_command("update", "-q", rev_options.to_args())
88+
cmd_args = make_command("update", *flags, rev_options.to_args())
7289
self.run_command(cmd_args, cwd=dest)
7390

7491
@classmethod

src/pip/_internal/vcs/git.py

+45-12
Original file line numberDiff line numberDiff line change
@@ -331,31 +331,59 @@ def fetch_new(
331331
logger.info("Resolved %s to commit %s", url, rev_options.rev)
332332

333333
#: repo may contain submodules
334-
self.update_submodules(dest)
335-
336-
def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
334+
self.update_submodules(dest, verbosity=verbosity)
335+
336+
def switch(
337+
self,
338+
dest: str,
339+
url: HiddenText,
340+
rev_options: RevOptions,
341+
verbosity: int = 0,
342+
) -> None:
337343
self.run_command(
338344
make_command("config", "remote.origin.url", url),
339345
cwd=dest,
340346
)
341-
cmd_args = make_command("checkout", "-q", rev_options.to_args())
347+
348+
extra_flags = []
349+
350+
if verbosity <= 0:
351+
extra_flags.append("-q")
352+
353+
cmd_args = make_command("checkout", *extra_flags, rev_options.to_args())
342354
self.run_command(cmd_args, cwd=dest)
343355

344-
self.update_submodules(dest)
356+
self.update_submodules(dest, verbosity=verbosity)
357+
358+
def update(
359+
self,
360+
dest: str,
361+
url: HiddenText,
362+
rev_options: RevOptions,
363+
verbosity: int = 0,
364+
) -> None:
365+
extra_flags = []
366+
367+
if verbosity <= 0:
368+
extra_flags.append("-q")
345369

346-
def update(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
347370
# First fetch changes from the default remote
348371
if self.get_git_version() >= (1, 9):
349372
# fetch tags in addition to everything else
350-
self.run_command(["fetch", "-q", "--tags"], cwd=dest)
373+
self.run_command(["fetch", "--tags", *extra_flags], cwd=dest)
351374
else:
352-
self.run_command(["fetch", "-q"], cwd=dest)
375+
self.run_command(["fetch", *extra_flags], cwd=dest)
353376
# Then reset to wanted revision (maybe even origin/master)
354377
rev_options = self.resolve_revision(dest, url, rev_options)
355-
cmd_args = make_command("reset", "--hard", "-q", rev_options.to_args())
378+
cmd_args = make_command(
379+
"reset",
380+
"--hard",
381+
*extra_flags,
382+
rev_options.to_args(),
383+
)
356384
self.run_command(cmd_args, cwd=dest)
357385
#: update submodules
358-
self.update_submodules(dest)
386+
self.update_submodules(dest, verbosity=verbosity)
359387

360388
@classmethod
361389
def get_remote_url(cls, location: str) -> str:
@@ -496,11 +524,16 @@ def get_url_rev_and_auth(cls, url: str) -> tuple[str, str | None, AuthInfo]:
496524
return url, rev, user_pass
497525

498526
@classmethod
499-
def update_submodules(cls, location: str) -> None:
527+
def update_submodules(cls, location: str, verbosity: int = 0) -> None:
528+
argv = ["submodule", "update", "--init", "--recursive"]
529+
530+
if verbosity <= 0:
531+
argv.append("-q")
532+
500533
if not os.path.exists(os.path.join(location, ".gitmodules")):
501534
return
502535
cls.run_command(
503-
["submodule", "update", "--init", "--recursive", "-q"],
536+
argv,
504537
cwd=location,
505538
)
506539

src/pip/_internal/vcs/mercurial.py

+27-5
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,20 @@ def fetch_new(
5858
cwd=dest,
5959
)
6060

61-
def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
61+
def switch(
62+
self,
63+
dest: str,
64+
url: HiddenText,
65+
rev_options: RevOptions,
66+
verbosity: int = 0,
67+
) -> None:
68+
extra_flags = []
6269
repo_config = os.path.join(dest, self.dirname, "hgrc")
6370
config = configparser.RawConfigParser()
71+
72+
if verbosity <= 0:
73+
extra_flags.append("-q")
74+
6475
try:
6576
config.read(repo_config)
6677
config.set("paths", "default", url.secret)
@@ -69,12 +80,23 @@ def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
6980
except (OSError, configparser.NoSectionError) as exc:
7081
logger.warning("Could not switch Mercurial repository to %s: %s", url, exc)
7182
else:
72-
cmd_args = make_command("update", "-q", rev_options.to_args())
83+
cmd_args = make_command("update", *extra_flags, rev_options.to_args())
7384
self.run_command(cmd_args, cwd=dest)
7485

75-
def update(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
76-
self.run_command(["pull", "-q"], cwd=dest)
77-
cmd_args = make_command("update", "-q", rev_options.to_args())
86+
def update(
87+
self,
88+
dest: str,
89+
url: HiddenText,
90+
rev_options: RevOptions,
91+
verbosity: int = 0,
92+
) -> None:
93+
extra_flags = []
94+
95+
if verbosity <= 0:
96+
extra_flags.append("-q")
97+
98+
self.run_command(["pull", *extra_flags], cwd=dest)
99+
cmd_args = make_command("update", *extra_flags, rev_options.to_args())
78100
self.run_command(cmd_args, cwd=dest)
79101

80102
@classmethod

src/pip/_internal/vcs/subversion.py

+14-2
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,13 @@ def fetch_new(
300300
)
301301
self.run_command(cmd_args)
302302

303-
def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
303+
def switch(
304+
self,
305+
dest: str,
306+
url: HiddenText,
307+
rev_options: RevOptions,
308+
verbosity: int = 0,
309+
) -> None:
304310
cmd_args = make_command(
305311
"switch",
306312
self.get_remote_call_options(),
@@ -310,7 +316,13 @@ def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
310316
)
311317
self.run_command(cmd_args)
312318

313-
def update(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
319+
def update(
320+
self,
321+
dest: str,
322+
url: HiddenText,
323+
rev_options: RevOptions,
324+
verbosity: int = 0,
325+
) -> None:
314326
cmd_args = make_command(
315327
"update",
316328
self.get_remote_call_options(),

src/pip/_internal/vcs/versioncontrol.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -451,7 +451,13 @@ def fetch_new(
451451
"""
452452
raise NotImplementedError
453453

454-
def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
454+
def switch(
455+
self,
456+
dest: str,
457+
url: HiddenText,
458+
rev_options: RevOptions,
459+
verbosity: int = 0,
460+
) -> None:
455461
"""
456462
Switch the repo at ``dest`` to point to ``URL``.
457463
@@ -460,7 +466,13 @@ def switch(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
460466
"""
461467
raise NotImplementedError
462468

463-
def update(self, dest: str, url: HiddenText, rev_options: RevOptions) -> None:
469+
def update(
470+
self,
471+
dest: str,
472+
url: HiddenText,
473+
rev_options: RevOptions,
474+
verbosity: int = 0,
475+
) -> None:
464476
"""
465477
Update an already-existing repo to the given ``rev_options``.
466478
@@ -512,7 +524,7 @@ def obtain(self, dest: str, url: HiddenText, verbosity: int) -> None:
512524
self.repo_name,
513525
rev_display,
514526
)
515-
self.update(dest, url, rev_options)
527+
self.update(dest, url, rev_options, verbosity=verbosity)
516528
else:
517529
logger.info("Skipping because already up-to-date.")
518530
return
@@ -567,7 +579,7 @@ def obtain(self, dest: str, url: HiddenText, verbosity: int) -> None:
567579
url,
568580
rev_display,
569581
)
570-
self.switch(dest, url, rev_options)
582+
self.switch(dest, url, rev_options, verbosity=verbosity)
571583

572584
def unpack(self, location: str, url: HiddenText, verbosity: int) -> None:
573585
"""

0 commit comments

Comments
 (0)