doc/README
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 09 Apr 2024 22:36:35 +0200
changeset 51594 e3a5ec2d236a
parent 9419 3516a4e877c1
permissions -rw-r--r--
outgoing: rework the handling of the `missingroots` case to be faster The previous implementation was slow, to the point it was taking a significant amount of `hg bundle --type none-streamv2` call. We rework the code to compute the same value much faster, making the operation disappear from the `hg bundle --type none-streamv2` profile. Someone would remark that producing a streamclone does not requires an `outgoing` object. However that is a matter for another day. There is other user of `missingroots` (non stream `hg bundle` call for example), and they will also benefit from this rework. We implement an old TODO in the process, directly computing the missing and common attribute as we have most element at hand already. ### benchmark.name = hg.command.bundle # bin-env-vars.hg.flavor = default # bin-env-vars.hg.py-re2-module = default # benchmark.variants.revs = all # benchmark.variants.type = none-streamv2 ## data-env-vars.name = heptapod-public-2024-03-25-zstd-sparse-revlog before: 7.750458 after: 6.665565 (-14.00%, -1.08) ## data-env-vars.name = mercurial-public-2024-03-22-zstd-sparse-revlog before: 0.700229 after: 0.496050 (-29.16%, -0.20) ## data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog before: 346.508952 after: 316.749699 (-8.59%, -29.76) ## data-env-vars.name = pypy-2024-03-22-zstd-sparse-revlog before: 3.401700 after: 2.915810 (-14.28%, -0.49) ## data-env-vars.name = tryton-public-2024-03-22-zstd-sparse-revlog before: 1.870798 after: 1.461583 (-21.87%, -0.41) note: this whole `missingroots` of outgoing has a limited number of callers and could likely be replace by something simpler (like taking an explicit "missing_revs" set for example). However this is a wider change and we focus on a small impact, quick rework that does not change the API for now.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9172
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
     1
Mercurial's documentation is kept in reStructuredText format, which is
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
     2
a simple plain text format that's easy to read and edit:
177
91055f795d88 adding doc directory and files
jake@edge2.net
parents:
diff changeset
     3
9172
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
     4
  http://docutils.sourceforge.net/rst.html
177
91055f795d88 adding doc directory and files
jake@edge2.net
parents:
diff changeset
     5
9172
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
     6
It's also convertible to a variety of other formats including standard
9419
3516a4e877c1 doc/README: simplify instructions
Martin Geisler <mg@lazybytes.net>
parents: 9406
diff changeset
     7
UNIX man page format and HTML. You'll need to install Docutils:
177
91055f795d88 adding doc directory and files
jake@edge2.net
parents:
diff changeset
     8
9172
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
     9
  http://docutils.sourceforge.net/
177
91055f795d88 adding doc directory and files
jake@edge2.net
parents:
diff changeset
    10
9172
bc1de09090bc doc: update README with links to Docutils
Martin Geisler <mg@lazybytes.net>
parents: 5048
diff changeset
    11
Use the Makefile in this directory to generate the man and HTML pages.