chore(mercurial): Fixed usage of str in generation of mercurial configs, and fixed largefiles call

This commit is contained in:
RhodeCode Admin 2023-11-06 13:50:58 +01:00
parent ee69f81c74
commit 9ed71a170e
2 changed files with 10 additions and 6 deletions

View file

@ -78,7 +78,7 @@ class MercurialRepository(BaseRepository):
# because sometimes we init the repos with config we need to meet
# special requirements
self.config = config if config else self.get_default_config(
default=[('extensions', 'largefiles', '1')])
default=[('extensions', 'largefiles', '')])
self.with_wire = with_wire or {"cache": False} # default should not use cache
self._init_repo(create, src_url, do_workspace_checkout)
@ -632,6 +632,7 @@ class MercurialRepository(BaseRepository):
Returns the commit id of the merge and a boolean indicating if the
commit needs to be pushed.
"""
source_ref_commit_id = source_ref.commit_id
target_ref_commit_id = target_ref.commit_id
@ -755,6 +756,7 @@ class MercurialRepository(BaseRepository):
log.debug('Executing merge_repo with %s strategy, dry_run mode:%s',
'rebase' if use_rebase else 'merge', dry_run)
if target_ref.commit_id not in self._heads():
return MergeResponse(
False, False, None, MergeFailureReason.TARGET_IS_NOT_HEAD,
@ -857,6 +859,8 @@ class MercurialRepository(BaseRepository):
needs_push = False
except RepositoryError as e:
log.exception('Failure when doing local merge on hg shadow repo')
metadata['unresolved_files'] = 'no unresolved files found'
if isinstance(e, UnresolvedFilesInRepo):
all_conflicts = list(e.args[0])
max_conflicts = 20

View file

@ -414,12 +414,12 @@ TODO: To be written...
def test_local_merge(self, vcsbackend_hg):
target_repo = vcsbackend_hg.create_repo(number_of_commits=1)
source_repo = vcsbackend_hg.clone_repo(target_repo)
vcsbackend_hg.add_file(target_repo, 'README_MERGE1', 'Version 1')
vcsbackend_hg.add_file(target_repo, b'README_MERGE1', b'Version 1')
target_repo = MercurialRepository(target_repo.path)
target_rev = target_repo.branches['default']
target_ref = Reference(
type='branch', name='default', commit_id=target_rev)
vcsbackend_hg.add_file(source_repo, 'README_MERGE2', 'Version 2')
vcsbackend_hg.add_file(source_repo, b'README_MERGE2', b'Version 2')
source_repo = MercurialRepository(source_repo.path)
source_rev = source_repo.branches['default']
source_ref = Reference(
@ -686,8 +686,8 @@ TODO: To be written...
def test_merge_rebase_source_is_updated_bookmark(self, vcsbackend_hg):
target_repo = vcsbackend_hg.create_repo(number_of_commits=1)
source_repo = vcsbackend_hg.clone_repo(target_repo)
vcsbackend_hg.add_file(target_repo, 'README_MERGE1', 'Version 1')
vcsbackend_hg.add_file(source_repo, 'README_MERGE2', 'Version 2')
vcsbackend_hg.add_file(target_repo, b'README_MERGE1', b'Version 1')
vcsbackend_hg.add_file(source_repo, b'README_MERGE2', b'Version 2')
imc = source_repo.in_memory_commit
imc.add(FileNode(b'file_x', content=safe_bytes(source_repo.name)))
@ -698,7 +698,7 @@ TODO: To be written...
target_commit = target_repo.get_commit()
source_commit = source_repo.get_commit()
vcsbackend_hg.add_file(source_repo, 'LICENSE', 'LICENSE Info')
vcsbackend_hg.add_file(source_repo, b'LICENSE', b'LICENSE Info')
default_branch = target_repo.DEFAULT_BRANCH_NAME
bookmark_name = 'bookmark'