branching: merge stable into default
authorRaphaël Gomès <rgomes@octobus.net>
Thu, 21 Mar 2024 12:26:46 +0100
changeset 51559 16d93adddce7
parent 51558 0239ebdd0740 (current diff)
parent 51464 394ea4428163 (diff)
child 51560 c7e81615b5c4
branching: merge stable into default
--- 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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
+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
--- 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
--- 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
             ]
--- 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)
 
--- 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:
--- 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.