Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 20 Feb 2014 10:15:38 -0800] rev 20552
revset: added __nonzero__ method to lazyset
Now it doesn't have to go through all the set and can return lazily as soon as
it finds one element.
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 15:30:27 -0800] rev 20551
scmutil: changed revrange to return lazysets for new style revsets
When there is an old style revset or both it will still return a baseset. This
may be changed in later patches.
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:43:17 +0100] rev 20550
phases: make order of debug output 'removing unknown node' deterministic
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:39:01 +0100] rev 20549
comments: fix minor spelling issues found with spell checker
Mads Kiilerich <madski@unity3d.com> [Sat, 15 Feb 2014 01:23:12 +0100] rev 20548
hooks: for python hooks, consistently use __name__ etc as name, not the repr
There is no reason to expose unnecessary Python implementation details and
memory locations, also not in debug mode.
readablefunc was already creating a nice name - we move that functionality
up and reuse it.
We consider having a __call__ and being types.FunctionType sufficiently
similar and unify these two to just using the existing check for __call__.
Mads Kiilerich <madski@unity3d.com> [Sat, 15 Feb 2014 01:23:12 +0100] rev 20547
hooks: move logging of hook name to after we have found the hook
We do not expect the finding process to take a significant amount of time - it
is the execution time of the hook we care about.
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:39:01 +0100] rev 20546
rebase: show nice list instead of set repr for 'computed skipped revs' debug
Mads Kiilerich <madski@unity3d.com> [Sat, 15 Feb 2014 01:23:12 +0100] rev 20545
rebase: fix 'rebase onto %d starting from %s' - show root instead of list repr
The debug statement is already in a 'for root in roots' so it was probably the
intention to show root instead of roots. Do that.
Mads Kiilerich <madski@unity3d.com> [Wed, 12 Feb 2014 23:44:30 +0100] rev 20544
log: describe graph symbols in the help
I wondered what 'x' meant and didn't find it described anywhere.
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:38:41 +0100] rev 20543
tests: backout
a82de9dc4f77, debugstacktrace is now stable, drop workaround
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:38:36 +0100] rev 20542
util: debugstacktrace, flush before and after writing
Close another stream (default stdout, which often is buffered) before writing
to the primary stream (default stderr, which often is unbuffered). The primary
stream is also flushed after writing (in case it is buffered).
This fixes non-deterministic output order, especially on windows.
Siddharth Agarwal <sid0@fb.com> [Wed, 19 Feb 2014 21:32:14 -0800] rev 20541
run-tests.py: work when --with-hg is set to system hg
Previously we'd always assume that --with-hg is a script in a user directory,
and would write out a 'python' symlink to the same location. That didn't work
if --with-hg was set to a system installation of hg, e.g. /usr/bin/hg.
Introduce a TMPBINDIR directory which is used to write out the python symlink.
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 18:45:49 -0800] rev 20540
revset: added cached generated list on generatorset
This allows to iterate the generatorset more than once.
Sean Farley <sean.michael.farley@gmail.com> [Thu, 20 Feb 2014 00:46:13 -0600] rev 20539
templater: shorten pure integers
Originally, the addition of the 'shorten' template function in
9c6b86dd2ed2
would not consider pure integers for shortening. This patch considers two
simple cases: when the integer starts with zero (which is parsed by Mercurial
as a hash first) and when the integer is larger than the tip (obviously not a
rev).
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 21 Feb 2014 13:16:17 -0800] rev 20538
revset: fixed bug where log -f was taking too long to return
Matt Mackall <mpm@selenic.com> [Thu, 20 Feb 2014 16:12:27 -0600] rev 20537
merge with stable
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 05 Feb 2014 15:23:11 -0800] rev 20536
revset: added generatorset class with cached __contains__ method
Danek Duvall <danek.duvall@oracle.com> [Wed, 19 Feb 2014 13:11:24 -0800] rev 20535
pathencode: eliminate signed integer warnings
Compiling mercurial with the Sun Studio compiler gives seven copies of the
following warning on pathencode.c:
line 533: warning: initializer will be sign-extended: -1
Using explicit unsigned literals silences it.
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 19 Feb 2014 12:56:41 -0800] rev 20534
revset: changed last implementation to use lazy classes
Instead of using getitem just reverse the revision list and get the first
'lim' elements. With classes like spanset which are easily reversible this
will work faster.
Performance Benchmarking:
$ time hg log -qr "last(all())"
...
real 0m0.569s
user 0m0.447s
sys 0m0.122s
$ time ./hg log -qr "last(all())"
...
real 0m0.215s
user 0m0.150s
sys 0m0.063s
Matt Mackall <mpm@selenic.com> [Wed, 19 Feb 2014 16:46:47 -0600] rev 20533
merge with stable
Simon Heimberg <simohe@besonet.ch> [Wed, 19 Feb 2014 13:25:28 +0100] rev 20532
help: remove last occurrences of ".. note::" without two newlines
When we add two newlines after ".. note::" translators will not see this
entry. And all versions of docutils interpret this paragraph correctly
(details in
de16c673455b).
Durham Goode <durham@fb.com> [Tue, 18 Feb 2014 14:48:56 -0800] rev 20531
help: add ifcontains, revset, and shortest to template help
Adds help information to the template help doc. Mentions ifcontains, revset,
shortest, and current in bookmarks.
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Feb 2014 22:19:45 +0900] rev 20530
verify: do not prevent verify repository containing hidden changesets
Since
a959f7167077, repo.cancopy() cannot be used to check if the repo is
a bundlerepository.
repo.url() should always have "scheme:", so it isn't necessary to parse
by util.url().
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Feb 2014 21:16:43 +0900] rev 20529
hgweb: make sure sys module is loaded prior to reload hack
If sys is still a demandmod, reload(sys) fails with "TypeError: reload()
argument must be module".
Kaz Nishimura <kazssym@vx68k.org> [Thu, 17 Oct 2013 13:27:17 +0900] rev 20528
win32: improve the performance of win32.unlink() over CIFS
Emulating POSIX unlink() behavior with os.rename() and os.unlink() is often slow
especially over CIFS from Windows clients due to its protocol overhead. This
patch changes win32.unlink() to try first an exclusive open with the Win32
delete-on-close flag, and if a sharing violation is detected, to fall back to
the original emulation.
This patch also removes a test with os.path.isdir() since we expect opening a
directory shall fail as os.unlink() would.
Example measurements (repeated 3-times after 1-time calibration):
(Without this patch: hg update from null to default)
127 files updated, 0 files merged, 0 files removed, 0 files unresolved
time: real 19.871 secs (user 0.328+0.000 sys 1.794+0.000)
time: real 19.622 secs (user 0.312+0.000 sys 2.044+0.000)
time: real 19.138 secs (user 0.250+0.000 sys 1.872+0.000)
(Without this patch: hg update from default to null)
0 files updated, 0 files merged, 127 files removed, 0 files unresolved
time: real 35.158 secs (user 0.156+0.000 sys 2.512+0.000)
time: real 35.272 secs (user 0.250+0.000 sys 2.512+0.000)
time: real 36.569 secs (user 0.203+0.000 sys 2.387+0.000)
(With this patch: hg update from null to default)
127 files updated, 0 files merged, 0 files removed, 0 files unresolved
time: real 17.893 secs (user 0.328+0.000 sys 1.700+0.000)
time: real 18.512 secs (user 0.265+0.000 sys 1.529+0.000)
time: real 20.238 secs (user 0.312+0.000 sys 1.685+0.000)
(With this patch: hg update from default to null)
0 files updated, 0 files merged, 127 files removed, 0 files unresolved
time: real 12.312 secs (user 0.250+0.000 sys 0.811+0.000)
time: real 12.471 secs (user 0.156+0.000 sys 0.889+0.000)
time: real 9.727 secs (user 0.125+0.000 sys 0.858+0.000)
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 15:54:46 -0800] rev 20527
revset: changed mfunc and getset to work with old style revset methods
Now extensions shouldn't break when adding new revsets.
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 03 Feb 2014 10:15:15 -0800] rev 20526
revset: changed revsets to use spanset
Performance Benchmarking:
$ hg perfrevset "first(all())"
! wall 0.304936 comb 0.300000 user 0.280000 sys 0.020000 (best of 33)
$ ./hg perfrevset "first(all())"
! wall 0.175640 comb 0.180000 user 0.160000 sys 0.020000 (best of 56)
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 11:38:03 -0800] rev 20525
revset: changed spanset to take a repo argument
This way, we can have by default the length of the repo as the end argument
and less code has to be aware of hidden revisions.
Matt Mackall <mpm@selenic.com> [Mon, 17 Feb 2014 14:49:56 -0600] rev 20524
journal: report parsing errors on recover/rollback (
issue4172)
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Feb 2014 16:19:19 +0900] rev 20523
rebase: do not try to reactivate deleted divergent bookmark
If the currently active bookmark is divergent one, it may be resolved during
rebase. Trying to activate it will raise "KeyError: 'W@diverge'".
Matt Mackall <mpm@selenic.com> [Sat, 15 Feb 2014 22:09:32 -0600] rev 20522
tests: backout
00f2d29308db pid check
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 10 Feb 2014 17:38:43 -0800] rev 20521
revset: changed spanset implementation to take hidden revisions into account
Hidden revisions are now excluded from the spanset.
Now this doesn't break for people using changeset evolution.