diff --git a/rhodecode/apps/ssh_support/lib/backends/git.py b/rhodecode/apps/ssh_support/lib/backends/git.py index 1da424c3..968a6afa 100644 --- a/rhodecode/apps/ssh_support/lib/backends/git.py +++ b/rhodecode/apps/ssh_support/lib/backends/git.py @@ -39,7 +39,11 @@ class GitTunnelWrapper(object): def command(self): root = self.server.get_root_store() - git_server_config = " " + # Support for partial and shallow cloning + if self.server.repo_mode == "upload-pack": + git_server_config = " -c uploadpack.allowfilter=true -c uploadpack.allowAnySHA1InWant=true " + else: + git_server_config = " " command = f"cd {root}; {self.server.git_path}{git_server_config}{self.server.repo_mode} '{root}{self.server.repo_name}'" log.debug("Final CMD: %s", command) return command