Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 14 Jan 2013 16:30:06 +0100] rev 18406
hgweb: simplify the handling of empty repo
This abstraction have two advantages:
- If the revlog is empty, None of the code bellow is relevant,
early returns seems a win.
- Abtraction of the 'emptiness' check will help later when we stop relying on
nodefunc.
A bonus, with filtering, a non-empty revlog may not have '0' revision
accessible. It'll be easier to handle with the emptiness test in a dedicated
function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 10 Jan 2013 18:54:50 +0100] rev 18405
hgweb: move hex creation into an object method
This is clearer and allow later overwrite.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 10 Jan 2013 18:59:37 +0100] rev 18404
hgweb: pass nodefunc to the revnav object
The issue between hgweb and filtering lay in this function. Moving it into the
object itself helps to abstract the erroneous bit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 15 Jan 2013 21:17:18 +0100] rev 18403
hgweb: move revnavgen into an object
For later compatibility with changelog filtering some part of the navigation
generation logic will be altered. Those altered part will be different when in
the changelog case and in the filelog case. Moving this into an object will
allow to use inheritance to override just the part of the logic we need.
The aimed logic are for example:
- generation of revision 'hex' (different logic for changelog and filelog)
- revlog emptyness test
- fetching of the first revision of a revlog (may not be 0)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 16 Jan 2013 12:51:24 +0100] rev 18402
hgweb: `limit` argument is actually `latestonly` renames and enforce
The `limit` argument of several generator have only two possible values in
practice: 0 and 1. We rename this parameter to `latestonly` and simplify it's
handling.
The simplification allows us to save fetching of data that we are sure to not
consume.
Having a function minimal function perimeter will helps future refactoring.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Jan 2013 11:39:22 -0600] rev 18401
hgweb: add test regarding filtering and hgweb
Since 4d1671b39168 hgweb is broken with filtering. This changeset add test that
should pass once it is fixed. Test currently broken are commented and will be
uncommented by changeset that fix them.
The filelog test is currently passing because we already have some hack in core
regarding filelog (see 518c1403838f).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Jan 2013 14:26:19 +0100] rev 18400
get-with-headers: add a --headeronly switch
In some case we do not care about the actual rendering.
Kevin Bullock <kbullock@ringworld.org> [Tue, 15 Jan 2013 22:08:47 -0600] rev 18399
tests: more comment cleanup related to obsolescence
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 16 Jan 2013 00:46:29 +0100] rev 18398
test: fix in-test comments related to obsolescence
The `ui.prevent-unstable` option never made it into core. It always behaves
this way when obsolescence feature is enabled.
See changesets c5bd753c5bc6, bacf55bd8f90 and 0f5a0a2073a8 for details.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 16 Jan 2013 00:12:01 +0100] rev 18397
stream_in: write the remote branchcache for a usage as wide as possible
Writing cache for unfiltered repo only is barely useful, Most repo user are now
at least use the `hidden` filter. This changeset now assigns the remote cache
for a filter as low as possible for a wider reuse as possible.