# HG changeset patch # User RhodeCode Admin # Date 2024-01-29 12:19:30 # Node ID bad642348d01ea369fa5cd56c55e7ee89bcdcd01 # Parent b009ad3671f3294ba16a16276461de7d58042ff6 fix(server-info): removed dulwich from update-server-info logic, and added force-flag feature diff --git a/vcsserver/remote/git_remote.py b/vcsserver/remote/git_remote.py --- a/vcsserver/remote/git_remote.py +++ b/vcsserver/remote/git_remote.py @@ -37,7 +37,6 @@ from dulwich.errors import ( MissingCommitError, ObjectMissing, HangupException, UnexpectedCommandError) from dulwich.repo import Repo as DulwichRepo -from dulwich.server import update_server_info import rhodecode from vcsserver import exceptions, settings, subprocessio @@ -200,7 +199,6 @@ class GitRemote(RemoteBase): def is_empty(self, wire): repo_init = self._factory.repo_libgit2(wire) with repo_init as repo: - try: has_head = repo.head.name if has_head: @@ -1359,9 +1357,12 @@ class GitRemote(RemoteBase): return BinaryEnvelope(result_libgit) @reraise_safe_exceptions - def update_server_info(self, wire): - repo = self._factory.repo(wire) - update_server_info(repo) + def update_server_info(self, wire, force=False): + cmd = ['update-server-info'] + if force: + cmd += ['--force'] + output, __ = self.run_git_command(wire, cmd) + return output.splitlines() @reraise_safe_exceptions def get_all_commit_ids(self, wire):