sapling/mercurial
Pierre-Yves David a9f4140d91 push: more robust check for bundle fast path
When all changesets in the local repo are either being pushed or remotly known,
we can take a fast path when bundling changeset because we are certain all local
deltas are computed againts base known remotely.

So we have a check to detect this situation, when we did a bare push and nothing
was excluded.

In a coming refactoring, the discovery will run on filtered view and the content
of `outgoing.excluded` will just include unserved (secret) changeset not filtered by the
repoview used to call push (usually "visible"). So we need to check if there is
both no excluded changeset and nothing filtered by the current repoview.
2013-11-05 18:37:44 +01:00
..
help glossary: don't mention obsolete graphlog extension 2013-11-22 19:13:07 +01:00
hgweb hgweb: simplify branches with repo.branchmap().iterbranches() 2013-09-16 01:08:29 -07:00
httpclient httpclient: import 4bb625347d4a to provide SSL wrapper injection 2013-09-20 09:15:09 -04:00
pure pack_dirstate: only invalidate mtime for files written in the last second 2013-08-17 20:48:49 -07:00
templates templater: fix escaping in nested string literals (issue4102) 2013-11-18 14:02:26 -05:00
__init__.py Add back links from file revisions to changeset revisions 2005-05-03 13:16:10 -08:00
ancestor.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05: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 bookmarks: make setcurrent with None an error 2013-11-15 18:41:40 -08:00
branchmap.py branchmap: introduce iterbranches() method 2013-09-16 01:08:29 -07:00
bundlerepo.py bundlerevlog: extract 'baserevision' method 2013-08-26 16:50:31 -07:00
byterange.py byterange: remove now-unused sys import 2013-02-09 07:44:22 -06:00
changegroup.py bundle: fix performance regression when bundling file changes (issue4031) 2013-09-07 21:20:00 +02:00
changelog.py branchmap: cache open/closed branch head information 2013-09-16 01:08:29 -07:00
cmdutil.py templater: fix escaping in nested string literals (issue4102) 2013-11-18 14:02:26 -05:00
commands.py branches: simplify with repo.branchmap().iterbranches() 2013-09-16 01:08:29 -07:00
commandserver.py localrepo: prevent to copy repo local config, copy baseui instead 2013-11-11 22:59:26 +01:00
config.py config: discard "%unset" values defined in the other files read in previously 2013-04-26 23:36:12 +09:00
context.py makememctx: move from patch to context to break import cycle 2013-11-06 22:09:15 -05:00
copies.py copies: refactor checkcopies() into a top level method 2013-05-01 10:44:21 -07:00
dagparser.py en-us: labeled 2012-08-17 13:58:18 -07:00
dagutil.py cleanup: "raise SomeException()" -> "raise SomeException" 2012-05-12 16:00:58 +02:00
demandimport.py demandimport: allow extensions to import own modules by absolute name 2013-10-05 01:02:22 +09: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 pathutil: tease out a new library to break an import cycle from canonpath use 2013-11-06 18:19:04 -05:00
discovery.py bookmarks: allow push -B to create a new remote head (issue2372) 2013-11-11 21:16:54 +11:00
dispatch.py dispatch: turn off custom debugger for HGPLAIN mode 2013-11-25 12:20:39 -05:00
encoding.py tests: stabilize doctest output 2013-01-15 02:59:14 +01:00
error.py error: introduce new InterventionRequired exception 2013-02-08 14:26:03 -06:00
exewrapper.c exewrapper: adapt for legacy HackableMercurial 2012-08-07 11:04:41 +02:00
extensions.py extensions: list up only enabled extensions, if "ui" is specified 2013-09-21 21:33:29 +09: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 ui: merge prompt text components into a singe string 2013-05-22 17:31:43 -05: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: don't try to visit nullrev (issue3772) 2013-01-23 00:20:26 -06:00
hbisect.py merge with stable 2013-11-22 17:26:58 -06:00
help.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00
hg.py branchmap: cache open/closed branch head information 2013-09-16 01:08:29 -07:00
hook.py blackbox: do not translate the log messages 2013-02-13 12:51:30 -08:00
httpconnection.py httpconnection: properly inject ssl_wrap_socket into httpclient (issue4038) 2013-09-20 09:16:07 -04:00
httppeer.py httppeer: improve protocol check 2013-02-17 14:34:53 -06: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 push: more robust check for bundle fast path 2013-11-05 18:37:44 +01:00
lock.py lock: handle race in trylock/testlock on Windows 2013-10-02 21:16:40 +09: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 pathutil: tease out a new library to break an import cycle from canonpath use 2013-11-06 18:19:04 -05:00
mdiff.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00
merge.py merge: move forgets to the beginning of the action list 2013-11-06 10:20:18 -08:00
minirst.py minirst: do not add a 2nd empty paragraph 2013-11-04 10:23:06 +01: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: order of magnitude speedup in _computebumpedset 2013-12-23 15:29:51 -08:00
osutil.c osutil: tab damage, how i hate thee 2012-12-03 13:17:01 -08:00
parser.py en-us: labeled 2012-08-17 13:58:18 -07:00
parsers.c merge with stable 2013-12-13 17:23:02 -06:00
patch.py patch: ensure valid git diffs if source/destination file is missing (issue4046) 2013-10-13 08:38:30 -04:00
pathencode.c pathencode: fix hashmangle short dir limit (issue3958) 2013-06-19 22:34:34 -07: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 rebase: fix rebase aborts when 'tip-1' is public (issue4082) 2013-11-04 19:59:00 -08: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 strip: add faster revlog strip computation 2013-11-11 16:42:49 -08:00
repoview.py filter: add a comment so that people do not forget to update subsettable 2013-12-24 17:44:23 -05:00
revlog.py revlog: move file writing to a separate function 2013-11-26 12:58:27 -08:00
revset.py fileset, revset: do not use global parser object for thread safety 2013-12-21 12:44:19 +09:00
scmposix.py scmutil: split platform-specific bits into their own modules 2013-02-12 11:36:21 -06:00
scmutil.py vfs: add "makelock()" and "readlock()" 2013-11-12 16:23:52 +09:00
scmwindows.py scmutil: fix NameError on windows 2013-02-21 13:16:02 -06:00
setdiscovery.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05: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 sshpeer: mark _validrepo internal 2013-07-16 11:18:16 -05:00
sshserver.py sshserver: avoid a multi-dot attribute lookup in a hot loop 2012-09-14 12:09:44 -07:00
sslutil.py sslutil: make keyfile and certfile arguments consistent between 2.6+ and 2.5- 2013-09-20 09:15:43 -04:00
statichttprepo.py statichttprepo.httprangeheader: implement readlines 2013-11-17 13:31:18 -08:00
store.py store: use "vfs.exists()" instead of "os.path.exists()" 2013-10-15 00:51:05 +09:00
strutil.py Update license to GPLv2+ 2010-01-19 22:20:08 -06:00
subrepo.py subrepo: sanitize non-hg subrepos 2013-11-25 13:50:36 -06: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: allow tagtypes other than global in getlatesttags 2013-12-23 14:14:31 +01:00
templater.py templater: only recursively evaluate string literals as templates (issue4103) 2013-11-18 15:37:09 -05:00
transaction.py transaction: take journal file path relative to vfs to use file API via vfs 2013-11-12 16:23:52 +09:00
treediscovery.py util: subclass deque for Python 2.4 backwards compatibility 2012-06-01 17:05:31 -07:00
ui.py merge with stable 2013-10-09 14:15:34 -07:00
unionrepo.py unionrevlog: extract 'baserevision' and 'baserevdiff' methods 2013-08-26 17:11:01 -07:00
url.py http: backout df58533adb15, which breaks on Python 2.4 2013-12-14 12:48:12 -05:00
util.h util.h: backout cb07828e14e0 and 7d902369e960 for big-endian breakage 2013-09-30 12:36:26 -07:00
util.py util: remove unused realpath (issue4063) 2013-12-29 13:54:04 +00:00
verify.py clfilter: verify logic should be unfiltered 2012-10-08 17:08:52 +02:00
win32.py windows: check target type before actual unlinking to follow POSIX semantics 2013-05-07 05:04:11 +09:00
windows.py util: remove unused realpath (issue4063) 2013-12-29 13:54:04 +00:00
wireproto.py bundle-ng: add bundlecaps argument to getbundle() command 2013-02-09 23:42:03 +01:00
worker.py cleanup: move stdlib imports to their own import statement 2013-11-06 16:48:06 -05:00