A Scalable, User-Friendly Source Control System.
Go to file
Gregory Szorc 589c58d0cd wireproto: extract repo filtering to standalone function
As part of teaching Mozilla's replication extension to better handle
repositories with obsolescence data, I encountered a few scenarios
where I wanted built-in wire protocol commands from replication clients
to operate on unfiltered repositories so they could have access to
obsolete changesets.

While the undocumented "web.view" config option provides a mechanism
to choose what filter/view hgweb operates on, this doesn't apply
to wire protocol commands because wireproto.dispatch() is always
operating on the "served" repo.

This patch extracts the line for obtaining the repo that
wireproto commands operate on to its own function so extensions
can monkeypatch it to e.g. return an unfiltered repo.

I stopped short of exposing a config option because I view the use
case for changing this as a niche feature, best left to the domain
of extensions.
2016-07-15 13:41:34 -07:00
contrib chg: add pgid to hgclient struct 2016-07-17 23:05:59 +01:00
doc check-code: detect "missing _() in ui message" more exactly 2016-06-21 00:50:39 +09:00
hgext commandserver: unindent superfluous "if True" blocks 2016-05-21 18:14:13 +09:00
hgext3rd extensions: also search for extension in the 'hgext3rd' package 2016-03-11 10:30:08 +00:00
i18n py3: make files use absolute_import and print_function 2016-07-03 22:28:24 +05:30
mercurial wireproto: extract repo filtering to standalone function 2016-07-15 13:41:34 -07:00
tests pycompat: make pycompat demandimport friendly 2016-07-17 19:48:04 +05:30
.editorconfig mercurial: add editorconfig 2016-04-05 18:10:33 +01:00
.hgignore make: turn ubuntu docker into template 2016-04-26 23:33:17 -07:00
.hgsigs Added signature for changeset af6493fe34d9 2016-07-01 15:12:33 -05:00
CONTRIBUTORS Add note to CONTRIBUTORS file 2007-11-07 21:10:30 -06:00
COPYING COPYING: refresh with current address from fsf.org 2011-06-02 11:17:02 -05:00
hg hg: disable demandimport for py3 2016-05-11 23:24:41 +00:00
hgeditor spelling: trivial spell checking 2015-10-17 00:58:46 +02:00
hgweb.cgi urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
Makefile osx: explicitly build hg with /usr/bin/python2.7 2016-07-13 10:39:33 -04:00
README urls: bulk-change primary website URLs 2015-09-30 15:43:49 -05:00
setup.py bdiff: split bdiff into cpy-aware and cpy-agnostic part 2016-07-13 10:46:26 +02:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install:

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing:

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.