- Apr 13, 2012
-
-
Matt Mackall authored
This avoids tons of gettext calls on workloads that call bytecount a lot.
-
- Apr 10, 2012
-
-
Matt Mackall authored
-
- Apr 09, 2012
-
-
Bryan O'Sullivan authored
This can be selected using the config variable profiling.type or the environment variable HGPROF ("ls" for the default, "stat" for statprof). The only tuneable is the frequency, profiling.freq, which defaults to 1000 Hz. If statprof is not available, a warning is printed.
-
Steven Stallion authored
Some platforms, notably Plan 9 from Bell Labs are stuck on older releases of Python. Due to restrictions in the platform, it is not possible to backport the SSL library to the existing Python port. This patch permits the UI to quiesce SSL verification warnings by adding a configuration entry named reportoldssl to ui.
-
- Apr 10, 2012
-
-
Bryan O'Sullivan authored
This improves the performance of "hg log -l1" from 0.21 seconds to 0.07 on a Linux kernel tree. Ideally we could use xrange instead of range on the most common path, and thus avoid a ton of allocation, but xrange doesn't support slice-based indexing.
-
Matt Mackall authored
-
- Apr 06, 2012
-
-
Idan Kamara authored
So the user can differentiate amend backups from the rest.
-
- Apr 10, 2012
-
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
- Apr 08, 2012
-
-
Steven Stallion authored
This patch contains support for Plan 9 from Bell Labs. A README is provided in contrib/plan9 which describes the port in greater detail. A new extension is also provided named factotum which permits the factotum(4) authentication agent to provide credentials for HTTP repositories. This extension is also applicable to other POSIX platforms which make use of Plan 9 from User Space (aka plan9ports).
-
- Apr 09, 2012
-
-
Matt Mackall authored
-
- Apr 08, 2012
-
-
Matt Mackall authored
This avoids loading dirstate parents, looking up p1 rev, and loading p1 manifest to match against an empty matcher.
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
Faster when we're doing numeric scanning
-
Matt Mackall authored
This allows us to avoid doing rev->node->rev lookups on silly instances like "0", which end up caching the whole nodemap.
-
Matt Mackall authored
-
- Apr 07, 2012
-
-
Matt Mackall authored
-
- Apr 06, 2012
-
-
Matt Mackall authored
-
Matt Mackall authored
-
Matt Mackall authored
Before, we were validating all tags for any tag operation, which meant building a (nearly) full node->tag lookup tree for most operations.
-
Bryan O'Sullivan authored
This change also fixes a nasty memory leak: previously, self->caches was not being freed. The new clearcaches method lets us benchmark with finer granularity, as it lets us separate the cost of loading a revlog index from those of populating and accessing the cache data structures.
-
- Apr 04, 2012
-
-
Patrick Mézard authored
-
Julien Cristau authored
If the command takes long enough, including 'estimate' in the format will add some more data to the progress bar output, and make the test fail. See e.g. https://buildd.debian.org/status/fetch.php?pkg=mercurial&arch=kfreebsd-amd64&ver=2.1.2-2&stamp=1333493711
-
Kevin Bullock authored
ui.write_err already swallows EPIPE and EIO if a write to stderr fails. On Mac OS X at least, a write to a closed file descriptor results in EBADF. Before this patch, hg would exit with status 1 if a write to stderr failed during startup (e.g. while trying to print a warning about not finding an extension): $ ./hg --config extensions.foo= version 2>&-; echo $? 1 With this patch, it correctly swallows stderr and continues to run the command: $ ./hg --config extensions.foo= version 2>&- Mercurial Distributed SCM (version 2.1) ...
-
- Apr 05, 2012
-
-
Katsunori FUJIWARA authored
'hg qnew' passes matching object to 'patch.diff()' to specify target filenames, and it causes 'dirstate.walk()' via 'repo.status()' in 'patch.diff()'. but target files are already known before 'patch.diff()' invocation. to avoid useless 'dirstate.walk()' invocation, this patch uses 'changes' argument to pass already known target files to 'patch.diff()' instead of 'match' argument. 'changes' argument of 'patch.diff()' should have lists for modified, added and removed files separately, so this patch saves status of '.hgsubstate' before commit, and put it into appropriate list in 'changes'.
-
Katsunori FUJIWARA authored
'hg qnew' with pattern/-I/-X creates matching object with them, and uses it twice for 'dirstate.walk()': via 'repo.status()' and 'repo.commit()'. this may cause full manifest scan in the second 'dirstate.walk()', even though mq already knows complete target filenames at the first 'dirstate.walk()'. this patch creates exact matching object also in this case, and use it at 'repo.commit()' invocation to avoid full manifest scan in the second 'dirstate.walk()'. even though 'inclsubs' is added to 'pats' for original matching object, it is also passed to exact matching object, because subrepositories are deleted from result of 'dirstate.walk()' at the end of it.
-
Jim Hague authored
test-hup hangs on AIX. Under ksh89 on AIX (the default shell), echo Hello; while [ ! -s not-there ]; do true; done produces no output while the loop executes. Replacing 'true' with 'sleep 0' fixes, as does using a less broken shell. ksh93 is fine. Update check-code.py to look for this, and make same change in test-serve.t. In fact test-serve works fine, probably because of additional commands between echo and the loop, but that's a subtlety not easy to test for.
-
Bryan O'Sullivan authored
We only parse entries in a revlog index file when they are actually needed, and cache them when first requested. This makes a huge difference to performance on large revlogs when accessing the tip revision or performing a handful of numeric lookups (very common cases). For instance, "hg --time tip --template {node}" on a tree with 300,000 revs takes 0.15 before, 0.02 after. Even for revlog-intensive operations (e.g. running "hg log" to completion), the lazy approach is about 1% faster than the eager parse_index2.
-
Patrick Mézard authored
diff ---/+++ should end filenames with a TAB when they contain spaces. Current code failed to do so when only the +++ file had spaces. This only happened with git renames from a name without space to one with space.
-
- Apr 03, 2012
-
-
Benoit Allard authored
This makes the client use the uncompressed protocol.
-
- Mar 28, 2012
-
-
Matteo Capobianco authored
Currently, the 'user' filter is using util.shortuser(text) (which clearly doesn't extract only the user portion of an email address, even though the help text says it does). The new 'emailuser' filter uses the new util.emailuser(text) function which, instead, does exactly that. The help text on the 'user' filter has been modified accordingly.
-
- Apr 05, 2012
-
-
Patrick Mézard authored
This fixes "hg qimport -r null". Previous versions used to: - Traceback because null revision mutability was not defined - Add an empty -1.diff patch to the series The error message: abort: revision -1 is not mutable is symptomatic of a deeper problem in phase command revision handling. It could be fixed easily in the command itself but I feel a better fix must be done in phase API which raises the issue of phase updates atomicity: aborting in phases.advanceboundary/retractboundary requires a better rollback behaviour to avoid partial changes.
-
Patrick Mézard authored
-
- Apr 04, 2012
-
-
Thomas Arendsen Hein authored
Additionally add tests for empty revsets and unknown revisions.
-
Thomas Arendsen Hein authored
-
Thomas Arendsen Hein authored
Because hgmerge was meant to be adjusted to personal needs, there may be many remaining copies in people's $PATH.
-