@@ -331,31 +331,59 @@ def fetch_new(
331
331
logger .info ("Resolved %s to commit %s" , url , rev_options .rev )
332
332
333
333
#: 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 :
337
343
self .run_command (
338
344
make_command ("config" , "remote.origin.url" , url ),
339
345
cwd = dest ,
340
346
)
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 ())
342
354
self .run_command (cmd_args , cwd = dest )
343
355
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" )
345
369
346
- def update (self , dest : str , url : HiddenText , rev_options : RevOptions ) -> None :
347
370
# First fetch changes from the default remote
348
371
if self .get_git_version () >= (1 , 9 ):
349
372
# 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 )
351
374
else :
352
- self .run_command (["fetch" , "-q" ], cwd = dest )
375
+ self .run_command (["fetch" , * extra_flags ], cwd = dest )
353
376
# Then reset to wanted revision (maybe even origin/master)
354
377
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
+ )
356
384
self .run_command (cmd_args , cwd = dest )
357
385
#: update submodules
358
- self .update_submodules (dest )
386
+ self .update_submodules (dest , verbosity = verbosity )
359
387
360
388
@classmethod
361
389
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]:
496
524
return url , rev , user_pass
497
525
498
526
@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
+
500
533
if not os .path .exists (os .path .join (location , ".gitmodules" )):
501
534
return
502
535
cls .run_command (
503
- [ "submodule" , "update" , "--init" , "--recursive" , "-q" ] ,
536
+ argv ,
504
537
cwd = location ,
505
538
)
506
539
0 commit comments