# HG changeset patch # User Raphaël Gomès # Date 1711020406 -3600 # Node ID 16d93adddce7f9777841059095917aab8c8d3614 # Parent 0239ebdd07405cdfb2f00e8a2e0727a926836dcb# Parent 394ea442816342a7b6f872614c71a9b3c9c10fb2 branching: merge stable into default diff -r 0239ebdd0740 -r 16d93adddce7 .hgsigs --- a/.hgsigs Fri Mar 15 10:52:51 2024 +0100 +++ b/.hgsigs Thu Mar 21 12:26:46 2024 +0100 @@ -258,3 +258,4 @@ 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 diff -r 0239ebdd0740 -r 16d93adddce7 .hgtags --- a/.hgtags Fri Mar 15 10:52:51 2024 +0100 +++ b/.hgtags Thu Mar 21 12:26:46 2024 +0100 @@ -274,3 +274,4 @@ 3fd1efb3ad124e6686c0fb66e6943cd8aeea5681 6.6.3 d1d48d18db37106b801ef6cb90955536458e7ffc 6.7rc0 c9ceb4f6025690167bdb245e530de6bac8baae95 6.7 +2e6fde2ed01e63f0de6a5966994fbb60b1f87057 6.7.1 diff -r 0239ebdd0740 -r 16d93adddce7 mercurial/revlogutils/deltas.py --- a/mercurial/revlogutils/deltas.py Fri Mar 15 10:52:51 2024 +0100 +++ b/mercurial/revlogutils/deltas.py Thu Mar 21 12:26:46 2024 +0100 @@ -876,7 +876,8 @@ # XXX note that the ordering of the group becomes important as # it now impacts the final result. The current order is # unprocessed and can be improved. - next_idx = self._internal_idx + self._group_chunk_size + chunk_size = self.revlog.delta_config.candidate_group_chunk_size + next_idx = self._internal_idx + chunk_size self.current_group = self._internal_group[ self._internal_idx : next_idx ] diff -r 0239ebdd0740 -r 16d93adddce7 mercurial/sshpeer.py --- a/mercurial/sshpeer.py Fri Mar 15 10:52:51 2024 +0100 +++ b/mercurial/sshpeer.py Thu Mar 21 12:26:46 2024 +0100 @@ -640,7 +640,7 @@ """ u = urlutil.url(path.loc, parsequery=False, parsefragment=False) if u.scheme != b'ssh' or not u.host or u.path is None: - raise error.RepoError(_(b"couldn't parse location %s") % path) + raise error.RepoError(_(b"couldn't parse location %s") % path.loc) urlutil.checksafessh(path.loc) diff -r 0239ebdd0740 -r 16d93adddce7 mercurial/subrepoutil.py --- a/mercurial/subrepoutil.py Fri Mar 15 10:52:51 2024 +0100 +++ b/mercurial/subrepoutil.py Thu Mar 21 12:26:46 2024 +0100 @@ -421,7 +421,18 @@ chunks.reverse() path = posixpath.join(*chunks) - return posixpath.normpath(path) + matchscheme = re.compile(b'^[a-zA-Z0-9+.\\-]+:').match + if matchscheme(path): + scheme, path = path.split(b':', 1) + if path.startswith(b'//'): + path = path[2:] + sep = b'//' + else: + sep = b'' + normalized_path = scheme + b':' + sep + posixpath.normpath(path) + else: + normalized_path = posixpath.normpath(path) + return normalized_path def reporelpath(repo: "localrepo.localrepository") -> bytes: diff -r 0239ebdd0740 -r 16d93adddce7 relnotes/6.7 --- a/relnotes/6.7 Fri Mar 15 10:52:51 2024 +0100 +++ b/relnotes/6.7 Thu Mar 21 12:26:46 2024 +0100 @@ -1,3 +1,12 @@ += Mercurial 6.7.1 = + +Exceptional release following a crash found in delta code that can be triggered +with complex repository shapes. + + * delta-search: fix crash caused by unbound variable + * sshpeer: fix path when handling invalid url exception + * subrepo: fix normalizing paths with scheme + = Mercurial 6.7 = As usual, a *lot* of patches don't make it to this list.