changeset 51116:98910135a3bc

branching: merge stable into default
author Raphaël Gomès <rgomes@octobus.net>
date Mon, 06 Nov 2023 17:12:04 +0100
parents 5ae05937b98f (current diff) f6bb9d1c230c (diff)
children d58e754f2db0
files mercurial/revlog.py
diffstat 5 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsigs	Tue Oct 31 22:42:46 2023 -0700
+++ b/.hgsigs	Mon Nov 06 17:12:04 2023 +0100
@@ -250,3 +250,4 @@
 3ffc7209bbae5804a53084c9dc2d41139e88c867 0 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
+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
--- a/.hgtags	Tue Oct 31 22:42:46 2023 -0700
+++ b/.hgtags	Mon Nov 06 17:12:04 2023 +0100
@@ -266,3 +266,4 @@
 3ffc7209bbae5804a53084c9dc2d41139e88c867 6.5
 787af4e0e8b787e1b77a8059926b123730a4cd01 6.5.1
 5a8b5420103937fca97c584c5162178eed828ada 6.5.2
+c083d9776cb2fb6056715b2988d1ea48055f3162 6.5.3
--- a/mercurial/revlog.py	Tue Oct 31 22:42:46 2023 -0700
+++ b/mercurial/revlog.py	Mon Nov 06 17:12:04 2023 +0100
@@ -1279,6 +1279,9 @@
     @staticmethod
     def is_inline_index(header_bytes):
         """Determine if a revlog is inline from the initial bytes of the index"""
+        if len(header_bytes) == 0:
+            return True
+
         header = INDEX_HEADER.unpack(header_bytes)[0]
 
         _format_flags = header & ~0xFFFF
--- a/relnotes/6.5	Tue Oct 31 22:42:46 2023 -0700
+++ b/relnotes/6.5	Mon Nov 06 17:12:04 2023 +0100
@@ -1,3 +1,18 @@
+= Mercurial 6.5.3 =
+
+ * "hgweb: pass strings in WSGI environment correctly from wsgicgi"
+ * "perf: introduce more cache invalidation option in perf::tags"
+ * "perf: add a `--clear-fnode-cache-rev` argument to perf::tags"
+ * "perf: add a --update-last flag to perf::tags"
+ * "blackbox: add a option to duplicate output to stderr too"
+ * "tags: avoid expensive access to repo.changelog in a loop"
+ * "revlog: fix a bug where NULL_NODE failed to be resolved to NULL_REV"
+ * "httppeer: fix static-http: scheme autodetection (issue6833)"
+ * "tests: backed out changeset 8037ddacad47"
+ * "stream-clone: fix a crash when a repo with an empty revlog is cloned"
+ * "censor: accept censored revision during upgrade"
+ * "revlog: avoid opening and closing the file for each cloned revision"
+
 = Mercurial 6.5.2 =
 
  * hgweb: encode WSGI environment using the ISO-8859-1 codec
--- a/tests/test-clone-stream.t	Tue Oct 31 22:42:46 2023 -0700
+++ b/tests/test-clone-stream.t	Mon Nov 06 17:12:04 2023 +0100
@@ -980,3 +980,15 @@
   $ mkdir -p empty-repo/.hg
   $ hg clone -q --stream ssh://user@dummy/empty-repo empty-repo2
   $ hg --cwd empty-repo2 verify -q
+
+Cloning a repo with an empty manifestlog doesn't give some weird error
+
+  $ rm -r empty-repo; hg init empty-repo
+  $ (cd empty-repo; touch x; hg commit -Am empty; hg debugstrip -r 0) > /dev/null
+  $ hg clone -q --stream ssh://user@dummy/empty-repo empty-repo3
+  $ hg --cwd empty-repo3 verify -q 2>&1 | grep -v warning
+  [1]
+
+The warnings filtered out here are talking about zero-length 'orphan' data files.
+Those are harmless, so that's fine.
+