diff --git a/project.py b/project.py index be53defd..7b78427d 100644 --- a/project.py +++ b/project.py @@ -2990,6 +2990,17 @@ class Project: self.config.SetBoolean( "core.bare", True if self.manifest.IsMirror else None ) + + if not init_obj_dir: + # The project might be shared (obj_dir already initialized), but + # such information is not available here. Instead of passing it, + # set it as shared, and rely to be unset down the execution + # path. + if git_require((2, 7, 0)): + self.EnableRepositoryExtension("preciousObjects") + else: + self.config.SetString("gc.pruneExpire", "never") + except Exception: if init_obj_dir and os.path.exists(self.objdir): platform_utils.rmtree(self.objdir) diff --git a/subcmds/sync.py b/subcmds/sync.py index 8460bcec..48ceb468 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -1129,8 +1129,6 @@ later is required to fix a server side protocol bug. ) project.config.SetString("gc.pruneExpire", "never") else: - if not opt.quiet: - print(f"\r{relpath}: not shared, disabling pruning.") project.config.SetString("extensions.preciousObjects", None) project.config.SetString("gc.pruneExpire", None)