view relnotes/5.3 @ 49846:fda5a4b853ab

hgweb: skip body creation of HEAD for most requests The body is thrown away anyway, so this just wastes a lot of CPU time. In the case of /archive/, this skips manifest processing and the actual file archiving, resulting in a huge difference. The most tricky part here is skipping the Content-Length creation as it would indicate the output size for the corresponding GET request.
author Joerg Sonnenberger <joerg@bec.de>
date Fri, 16 Dec 2022 17:46:20 +0100
parents 1f8f215219ff
children
line wrap: on
line source

== New Features ==

 * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d.


== New Experimental Features ==


== Bug Fixes  ==

 * The `indent()` template function was documented to not indent empty lines,
   but it still indented the first line even if it was empty. It no longer does
   that.

== Backwards Compatibility Changes ==


== Internal API Changes ==

 * Matcher instances no longer have a `explicitdir` property. Consider
   rewriting your code to use `repo.wvfs.isdir()` and/or
   `ctx.hasdir()` instead. Also, the `traversedir` property is now
   also called when only `explicitdir` used to be called. That may
   mean that you can simply remove the use of `explicitdir` if you
   were already using `traversedir`.

 * The `revlog.nodemap` object have been merged into the `revlog.index` object.
   * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`,
   * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`,
   * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`.

 * `copies.duplicatecopies()` was renamed to
   `copies.graftcopies()`. Its arguments changed from revision numbers
   to context objects. It also lost its `repo` and `skip` arguments
   (they should no longer be needed).