Na'Tosha Bard <natosha@unity3d.com> [Mon, 16 Apr 2012 17:03:39 +0200] rev 16439
largefiles: fix cat for largefiles (
issue3352)
This is a fix to largefiles so that 'hg cat' will work correctly when a
largefile is specified.
As per discussion on Issue 3352:
1) The file will be printed regardless if it is binary or large.
2) The file is downloaded if it is not readily available (not found in
the system cache), so that it can be printed. If the download fails,
then we abort.
Steven Stallion <sstallion@gmail.com> [Mon, 16 Apr 2012 08:50:40 -0700] rev 16438
pure: quiesce build warnings
The following patch fixes the following warning when building pure:
package init file 'mercurial/pure/__init__.py' not found (or not a regular file)
Matt Mackall <mpm@selenic.com> [Mon, 16 Apr 2012 11:26:00 -0500] rev 16437
util.h: replace ntohl/htonl with get/putbe32
Wolfgang Treutterer <Wolfgang.Treutterer@ipp.mpg.de> [Fri, 13 Apr 2012 10:08:08 +0200] rev 16436
scmutil: fix systemrcpath regression introduced in
f5dd179bfa4a
Changeset
f5dd179bfa4a introduced a 'root' path component to look for
hgrc files, which is used both as an absolute path and a path relative
to the <install-root>.
The latter one was broken since 'root' was set to an absolute location
and the subsequent os.path.join discarded the <install-root> path prefix.
Patrick Mezard <patrick@mezard.eu> [Fri, 13 Apr 2012 10:14:59 +0200] rev 16435
revlog: fix partial revision() docstring (from
d7d64b89a65c)
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Apr 2012 11:27:11 +0200] rev 16434
graphlog: fix --follow FILE and relative paths
The situation is complicated because filelog() revset uses a match object in
relpath mode while follow() revset interprets the filename as a manifest entry.
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Apr 2012 11:16:57 +0200] rev 16433
graphlog: reduce duplication in --follow code
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Apr 2012 10:44:13 +0200] rev 16432
graphlog: add all log options to glog command
glog and log -G should be equivalent.
Patrick Mezard <patrick@mezard.eu> [Sat, 14 Apr 2012 10:30:38 +0200] rev 16431
graphlog: implement --hidden
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 28 Mar 2012 11:42:17 +0200] rev 16430
revert: add support for reverting subrepos without --no-backup and/or --all
When a subrepo is reverted but --no-backup is not set, call revert on the
subrepo that is being reverted prior to updating it to the revision specified
in the parent repo's .hgsubstate file.
The --all flag is passed down to the subrepo when it is being reverted. If the
--all flag is not set, all files that are modified on the subrepo will be
reverted.
Angel Ezquerra <angel.ezquerra@gmail.com> [Wed, 28 Mar 2012 11:42:17 +0200] rev 16429
revert: add support for reverting subrepos
Reverting a subrepo is done by updating it to the revision that is selected on
the parent repo .hgsubstate file.
* ISSUES/TODO:
- reverting added and removed subrepos is not supported yet.
- reverting subrepos is only supported if the --no-backup flag is used (this
limitation will be removed on another patch).
- The behavior of the --all flag has been changed. It now reverts subrepos as
well. Note that this may lead to data loss if the user has a dirty subrepo.
Matt Mackall <mpm@selenic.com> [Sat, 14 Apr 2012 01:39:35 -0500] rev 16428
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Fri, 13 Apr 2012 11:01:07 -0700] rev 16427
commands: move bundle type validation earlier
Checking the bundle type late in the command's execution can mean
that we do work for a long time before complaining about incorrect
user input and aborting. Guess how I discovered this.
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:55:46 -0500] rev 16426
changegroupsubset: optimize function lookup in prune
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:55:46 -0500] rev 16425
changegroup: optimize gennodelist
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:55:46 -0500] rev 16424
revlog: drop some unneeded rev.node calls in revdiff
Bryan O'Sullivan <bryano@fb.com> [Thu, 12 Apr 2012 20:26:33 -0700] rev 16423
revlog: avoid an expensive string copy
This showed up in a statprof profile of "hg svn rebuildmeta", which
is read-intensive on the changelog. This two-line patch improved
the performance of that command by 10%.
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:55:46 -0500] rev 16422
changegroupsubset: avoid setdefault in inner loop
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:55:40 -0500] rev 16421
changegroupsubset: drop repeated len() calls
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:27:29 -0500] rev 16420
changegroup: reduce progress overhead
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 22:23:45 -0500] rev 16419
changegroupsubset: renest inner loop
The mdata list should generally be shorter than changedfiles
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 21:35:48 -0500] rev 16418
revlog: increase readahead size
Matt Mackall <mpm@selenic.com> [Fri, 13 Apr 2012 15:32:49 -0500] rev 16417
revset: avoid demandimport bug
Apparently the "import x as xy" doesn't manage to update xy in the
current scope's dictionary after load, which causes nodemod.nullrev to do a huge amount of demandload magic in the inner loop.
Patrick Mezard <patrick@mezard.eu> [Fri, 13 Apr 2012 15:07:13 +0200] rev 16416
mq: replace hasattr() with util.safehasattr(), update check-code.py
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:52:39 -0500] rev 16415
merge with stable
Bryan O'Sullivan <bryano@fb.com> [Thu, 12 Apr 2012 14:05:59 -0700] rev 16414
parsers: use base-16 trie for faster node->rev mapping
This greatly speeds up node->rev lookups, with results that are
often user-perceptible: for instance, "hg --time log" of the node
associated with rev 1000 on a linux-2.6 repo improves from 0.3
seconds to 0.03. I have not found any instances of slowdowns.
The new perfnodelookup command in contrib/perf.py demonstrates the
speedup more dramatically, since it performs no I/O. For a single
lookup, the new code is about 40x faster.
These changes also prepare the ground for the possibility of further
improving the performance of prefix-based node lookups.
Matt Mackall <mpm@selenic.com> [Thu, 12 Apr 2012 20:22:18 -0500] rev 16413
check-code: avoid false-positive on ++
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:37:13 +0200] rev 16412
graphlog: cleanup before code move
- Avoid revset module aliasing
- Mark makefilematcher() private
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:32:00 +0200] rev 16411
graphlog: correctly handle calls in subdirectories
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:29:12 +0200] rev 16410
context: revert workingctx.ancestors() followfirst option
It was introduced by mistake in
352053e6cd8e.
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:25:34 +0200] rev 16409
graphlog: fix --follow-first --rev combinations
This solves a similar problem than the previous --follow/--rev patch. This time
we need changelog.ancestors()/descendants() filtering on first parent.
Duplicating the code looked better than introducing keyword arguments. Besides,
the ancestors() version was already implemented in follow() revset.
Patrick Mezard <patrick@mezard.eu> [Wed, 11 Apr 2012 11:22:40 +0200] rev 16408
graphlog: fix --follow --rev combinations
The previous behaviour of --follow was really a subset of what is really
happening in log command:
- If --rev is not passed, default to '.:0'
- Resolve --rev into a revision list "revs"
- Set the starting revision to revs[0]
- If revs[1] > revs[0] keep descendants(revs[0]) in revs, otherwise keep
ancestors.