annotate doc/README @ 26402:05871262acd5

treemanifest: rework lazy-copying code (issue4840) The old lazy-copy code formed a chain of copied manifests with each copy. Under typical operation, the stack never got more than a couple of manifests deep and was fine. Under conditions like hgsubversion or convert, the stack could get hundreds of manifests deep, and eventually overflow the recursion limit for Python. I was able to consistently reproduce this by converting an hgsubversion clone of svn's history to treemanifests. This may result in fewer manifests staying in memory during operations like convert when treemanifests are in use, and should make those operations faster since there will be significantly fewer noop function calls going on. A previous attempt (never mailed) of mine to fix this problem tried to simply have all treemanifests only have a loadfunc - that caused somewhat weird problems because the gettext() callable passed into read() wasn't idempotent, so the easy solution is to have a loadfunc and a copyfunc.
author Augie Fackler <augie@google.com>
date Fri, 25 Sep 2015 22:54:46 -0400
parents 3516a4e877c1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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.