sapling/mercurial
Pierre-Yves David fddf556ac8 phase: apply publishing enforcement for "serve" source
When a changegroup is added by a push on a publishing server, we ensure they
are added as public. This is used to enforce publishing on server when the
client is not aware of phases. It also prevents race conditions where a reader
could see the changesets as draft before they get turned public by the client.
Finally, this save rounds trip as the client does not need additional request to
turn them public.

However, this logic was only enforced when the changegroup was from a "push"
source. And "push" is used for local pushes only. Wireprotocol push uses "serve"
as source since Mercurial 1.9. We now enforce this logic for both "push" and
"serve" sources.

One could note that this logic was mainly useful during wireprotocol exchanges.
So this code is finally put into good use, 9 versions after its introduction.
2014-04-07 18:10:50 -07:00
..
help help: new SHA-1 fingerprint of hg.intevation.org in hostfingerprints example 2014-02-13 13:05:09 +01:00
hgweb wireproto: introduce an abstractserverproto class 2014-03-28 11:10:33 -07:00
httpclient httpclient: apply upstream revision da7579b034a4 to fix SSL problems (issue4038) 2013-09-18 14:45:28 -04:00
pure pack_dirstate: only invalidate mtime for files written in the last second 2013-08-17 20:48:49 -07:00
templates paper: overlapping of section title on help pages (issue4051) 2014-03-03 23:37:59 +05:30
__init__.py
ancestor.py ancestors: remove unnecessary handling of 'left' 2014-02-24 22:42:13 +01:00
archival.py archive: raise error.Abort if the file pattern matches no files 2013-03-21 22:09:15 +01:00
base85.c base85: cast Py_ssize_t values to int (issue3481) 2012-06-04 16:59:34 +02:00
bdiff.c bdiff: avoid a memory error on malloc failure 2013-10-30 16:03:42 -05:00
bookmarks.py push: move bookmarks exchange in the exchange module 2014-01-30 17:46:51 -08:00
branchmap.py branchmap: use set for update code 2014-01-06 15:19:31 -08:00
bundle2.py bundle2: make it possible have a global transaction for the unbundling 2014-04-02 23:56:49 -07:00
bundlerepo.py config: set a 'source' in most cases where config don't come from file but code 2014-03-19 02:45:14 +01:00
byterange.py byterange: remove now-unused sys import 2013-02-09 07:44:22 -06:00
changegroup.py phase: apply publishing enforcement for "serve" source 2014-04-07 18:10:50 -07:00
changelog.py branchmap: cache open/closed branch head information 2013-09-16 01:08:29 -07:00
cmdutil.py amend: save commit message into ".hg/last-message.txt" 2014-03-19 01:07:41 +09:00
commands.py backout: correct commit status of no changes made (BC) (issue4190) 2014-03-08 18:52:16 +09:00
commandserver.py cmdserver: allow to start server without repository 2014-03-03 23:21:24 +09:00
config.py config: don't set source when no source is specified - don't overwrite with '' 2014-03-19 02:45:14 +01:00
context.py context: add a getfileset() method so fewer things need fileset directly 2014-02-04 15:27:49 -05:00
copies.py copies: when both sides made the same copy, report it as a copy 2014-02-25 20:29:14 +01:00
dagparser.py en-us: labeled 2012-08-17 13:58:18 -07:00
dagutil.py discovery: enforce filtering into revlogbaseddag._internalizeall 2013-11-15 23:27:39 -05:00
demandimport.py hooks: only disable/re-enable demandimport when it's already enabled 2014-02-10 14:51:06 -08:00
dicthelpers.py dicthelpers.diff: compare against default for missing values 2013-04-10 12:31:07 -07:00
diffhelpers.c diffhelpers: use Py_ssize_t in testhunk() 2012-05-12 14:00:51 +02:00
dirs.c dirs: use mutable strings internally 2013-04-10 15:08:28 -07:00
dirstate.py dirstate: remove double imports of errno 2014-03-03 15:50:41 +09:00
discovery.py discovery: make "note: unsynced remote changes!" less serious than a warning 2014-02-07 17:24:12 +01:00
dispatch.py dispatch: only do __import__(debugger) when a debugger is requested 2014-03-07 14:06:52 -05:00
encoding.py tests: stabilize doctest output 2013-01-15 02:59:14 +01:00
error.py hgweb: show correct error message for i18n environment 2013-02-15 18:07:14 +09:00
exchange.py exchange: pass bundlecaps through to changegroup 2014-04-04 16:41:51 -07:00
exewrapper.c exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
extensions.py extensions: use normpath to allow trailing '\' on Windows (issue4187) 2014-03-05 09:31:05 +00:00
fancyopts.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00
filelog.py filelog: use super() for calling base functions 2013-05-01 10:39:37 -07:00
filemerge.py filemerge: move from dict() construction to {} literals 2014-03-12 13:15:09 -04:00
fileset.py merge with stable 2014-01-01 18:28:40 -05:00
formatter.py formatter: add condwrite method 2012-11-03 14:37:50 -05:00
graphmod.py graphmod: changed code in dagwalker to use lazy implementations 2014-03-14 08:46:46 -07:00
hbisect.py bisect: report "both good and bad" as such, not as "not directly related" 2013-11-10 18:51:21 +01:00
help.py help: allow -k to find debug commands 2014-03-22 14:46:55 -05:00
hg.py i18n: fix "% inside _()" problems 2014-04-01 02:46:03 +09:00
hook.py hooks: only disable/re-enable demandimport when it's already enabled 2014-02-10 14:51:06 -08:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py wireproto: drop the _decompress method in favor a new call type 2014-03-28 14:24:13 -07:00
i18n.py i18n: use getattr instead of hasattr 2011-07-25 20:46:30 -05:00
ignore.py ignore: process hgignore files in deterministic order 2012-12-17 15:57:02 -08:00
keepalive.py check-code: check for spaces around = for named parameters 2013-10-03 14:50:47 +02:00
localrepo.py bundle2: use discard to remove bundle2 cap 2014-04-08 13:05:29 -07:00
lock.py localrepo: give a sigh of relief when getting lock after waiting for it 2014-02-06 01:55:09 +01:00
lsprof.py profiling: replace '+' markup of nested lines with indentation 2013-02-08 22:54:48 +01:00
lsprofcalltree.py drop unused imports 2009-05-14 15:35:46 +02:00
mail.py python2.4: fix imports of sub-packages of the email package 2013-09-24 15:10:32 -04:00
manifest.py manifest: increase lrucache from 3 to 4 2013-11-11 16:35:12 -08:00
match.py match: use ctx.getfileset() instead of fileset.getfileset() 2014-02-04 14:54:42 -05:00
mdiff.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00
merge.py i18n: fix "% inside _()" problems 2014-04-01 02:46:03 +09:00
minirst.py minirst: move from dict() construction to {} literals 2014-03-12 13:20:24 -04:00
mpatch.c mpatch: rewrite pointer overflow checks 2013-12-11 18:33:42 -06:00
node.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
obsolete.py obsolete: extract encoding of marker for pushkey from the list key function 2014-02-27 20:01:28 -08:00
osutil.c osutil: tab damage, how i hate thee 2012-12-03 13:17:01 -08:00
parser.py parser: allow passing a lookup function to a tokenizer 2014-03-18 17:17:23 -05:00
parsers.c parsers: fix compiler errors on MSVC 2008 2014-03-20 00:01:59 -04:00
patch.py i18n: fix "% inside _()" problems 2014-04-01 02:46:03 +09:00
pathencode.c pathencode: eliminate signed integer warnings 2014-02-19 13:11:24 -08:00
pathutil.py pathutil: tease out a new library to break an import cycle from canonpath use 2013-11-06 18:19:04 -05:00
peer.py peer: delete double definition of method peer 2012-07-28 22:36:22 +02:00
phases.py phases: make order of debug output 'removing unknown node' deterministic 2014-02-20 02:43:17 +01:00
posix.py util: remove unused realpath (issue4063) 2013-12-29 13:54:04 +00:00
pushkey.py pushkey: do not exchange obsole markers if feature is disabled 2012-07-28 13:33:06 +02:00
pvec.py pvec: use the correct name for an identifier 2013-04-12 17:20:09 -07:00
py3kcompat.py spelling: relies 2012-08-17 13:58:18 -07:00
repair.py localrepo: move the addchangegroup method in changegroup module 2014-04-01 15:27:53 -07:00
repoview.py repoview: add _gethiddenblockers method 2014-04-03 20:07:42 -05:00
revlog.py merge with stable 2014-04-10 12:41:39 -04:00
revset.py revset: document the regular expression support for tag(name) 2014-03-24 21:27:40 -04:00
scmposix.py scmutil: split platform-specific bits into their own modules 2013-02-12 11:36:21 -06:00
scmutil.py hg log: solves bug regarding hg log -r 0:null (issue4039) 2014-03-12 10:26:48 +02:00
scmwindows.py scmutil: fix NameError on windows 2013-02-21 13:16:02 -06:00
setdiscovery.py setdiscovery: document algorithms used 2014-03-06 12:37:28 +01:00
similar.py cleanup: eradicate long lines 2012-05-12 15:54:54 +02:00
simplemerge.py cleanup: "raise SomeException()" -> "raise SomeException" 2012-05-12 16:00:58 +02:00
sshpeer.py wireproto: drop the _decompress method in favor a new call type 2014-03-28 14:24:13 -07:00
sshserver.py localrepo: move the addchangegroup method in changegroup module 2014-04-01 15:27:53 -07:00
sslutil.py sslutil: backed out changeset 2cb59fd7ebb6 (issue4038) 2013-09-18 14:40:17 -04:00
statichttprepo.py statichttp: respect localrepo _restrictcapabilities 2014-04-07 11:45:50 -07:00
store.py store: drop unused existing list 2014-04-03 12:59:12 -05:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py i18n: fix "% inside _()" problems 2014-04-01 02:46:03 +09:00
tags.py tags: write tag overwriting history also into tag cache file (issue3911) 2013-08-28 22:09:53 +09:00
templatefilters.py merge with stable 2013-10-09 14:15:34 -07:00
templatekw.py templatekw: move from dict() construction to {} literals 2014-03-12 13:20:42 -04:00
templater.py templater: raise error for unknown func 2014-03-27 17:21:27 -05:00
transaction.py transaction: drop extra import caught by pyflakes 2014-04-02 13:41:23 -05:00
treediscovery.py discovery: stop using nodemap for membership testing 2013-11-15 23:28:43 -05:00
ui.py config: give a useful hint of source for the most common command line settings 2014-03-19 02:45:04 +01:00
unionrepo.py config: set a 'source' in most cases where config don't come from file but code 2014-03-19 02:45:14 +01:00
url.py http: reuse authentication info after the first failed request (issue3567) 2013-12-20 14:56:05 +01:00
util.h util.h: backout cb07828e14e0 and 7d902369e960 for big-endian breakage 2013-09-30 12:36:26 -07:00
util.py util: add the code path to "cachefunc()" for the function taking no arguments 2014-02-15 19:52:26 +09:00
verify.py verify: do not prevent verify repository containing hidden changesets 2014-02-19 22:19:45 +09:00
win32.py win32: spawndetached returns pid of detached process and not of cmd.exe 2014-02-08 14:35:07 +01:00
windows.py util: remove unused realpath (issue4063) 2013-12-29 13:54:04 +00:00
wireproto.py localrepo: move the addchangegroup method in changegroup module 2014-04-01 15:27:53 -07:00
worker.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00