Wed, 23 Dec 2015 23:23:28 +0000 histedit: limit cleanup of histedit-last-edit.txt to success
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 23:23:28 +0000] rev 27546
histedit: limit cleanup of histedit-last-edit.txt to success
Sun, 27 Dec 2015 03:33:09 +0000 histedit: use parse-error exception for parsing
timeless <timeless@mozdev.org> [Sun, 27 Dec 2015 03:33:09 +0000] rev 27545
histedit: use parse-error exception for parsing
Fri, 11 Dec 2015 07:08:36 +0000 test-histedit-edit: test histedit with dirty repo
timeless <timeless@mozdev.org> [Fri, 11 Dec 2015 07:08:36 +0000] rev 27544
test-histedit-edit: test histedit with dirty repo
Fri, 11 Dec 2015 07:08:09 +0000 histedit: limit mentioning histedit-last-edit.txt
timeless <timeless@mozdev.org> [Fri, 11 Dec 2015 07:08:09 +0000] rev 27543
histedit: limit mentioning histedit-last-edit.txt Before histedit-last-edit.txt would be mentioned for any failure. After, it should only be mentioned for failures relating to user input.
Mon, 28 Dec 2015 22:53:22 +0000 histedit: check fold of public change during verify
timeless <timeless@mozdev.org> [Mon, 28 Dec 2015 22:53:22 +0000] rev 27542
histedit: check fold of public change during verify
Mon, 28 Dec 2015 22:52:48 +0000 histedit: pass previous action to verify
timeless <timeless@mozdev.org> [Mon, 28 Dec 2015 22:52:48 +0000] rev 27541
histedit: pass previous action to verify
Thu, 17 Dec 2015 14:56:14 +0000 annotate: mention that -n is suppressed in help
timeless <timeless@mozdev.org> [Thu, 17 Dec 2015 14:56:14 +0000] rev 27540
annotate: mention that -n is suppressed in help
Wed, 23 Dec 2015 16:22:20 -0800 test-bundle2-format: force gc so a GeneratorExit will be thrown
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27539
test-bundle2-format: force gc so a GeneratorExit will be thrown PyPy has looser semantics than CPython for when a generator's close method will be called. Forcing the gc causes it to be called at the right moment.
Wed, 23 Dec 2015 16:22:20 -0800 test-bad-extension: account for PyPy/CPython error difference
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27538
test-bad-extension: account for PyPy/CPython error difference
Wed, 23 Dec 2015 16:22:20 -0800 demandimport: update obsolete comment
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27537
demandimport: update obsolete comment
Wed, 23 Dec 2015 16:22:20 -0800 demandimport: add support for PyPy
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27536
demandimport: add support for PyPy PyPy's implementation of __import__ differs subtly from that of CPython. If invoked without a name or fromlist, it throws an ImportError, whereas CPython returns a reference to the level-appropriate importing package. Here, we achieve the same behaviour by hand.
Wed, 23 Dec 2015 16:22:20 -0800 test-demandimport: ensure that relative imports are deferred
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27535
test-demandimport: ensure that relative imports are deferred This adds a test not just at our local "top level" (the mercurial package), but also one level deeper (mercurial.hgweb).
Wed, 23 Dec 2015 16:22:20 -0800 histedit: don't bother with cPickle, demand-load pickle
Bryan O'Sullivan <bos@serpentine.com> [Wed, 23 Dec 2015 16:22:20 -0800] rev 27534
histedit: don't bother with cPickle, demand-load pickle We're unlikely to ever need the pickle module, so there's no good reason to force loading of its faster cousin.
Mon, 28 Dec 2015 10:11:48 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 28 Dec 2015 10:11:48 -0600] rev 27533
merge with stable
Wed, 16 Dec 2015 10:39:00 -0800 crecord: stop raising error.Abort if curses is not found (issue5008) stable
Sean Farley <sean@farley.io> [Wed, 16 Dec 2015 10:39:00 -0800] rev 27532
crecord: stop raising error.Abort if curses is not found (issue5008) On some servers, python curses support is disabled. This patch not only fixes that but provides a fallback on other machines (e.g. Windows) when curses is not found. The previous code was actually flawed logic and relied on wcurses throwing an ImportError which demandimport wouldn't throw. So, this patch also fixes that problem.
Tue, 15 Dec 2015 16:01:45 -0800 cmdutil: use crecordmod.checkcurses stable
Sean Farley <sean@farley.io> [Tue, 15 Dec 2015 16:01:45 -0800] rev 27531
cmdutil: use crecordmod.checkcurses Instead of blindly trusting the user's experimental.crecord, we use checkcurses to abstract that logic so that we can handle the case where python was not built with curses.
Tue, 15 Dec 2015 16:00:06 -0800 crecord: ensure that curses is False if not imported stable
Sean Farley <sean@farley.io> [Tue, 15 Dec 2015 16:00:06 -0800] rev 27530
crecord: ensure that curses is False if not imported This provides no functional change but makes the next two patches easier to review.
Tue, 15 Dec 2015 15:56:10 -0800 crecord: add helper function to determine if we should use curses stable
Sean Farley <sean@farley.io> [Tue, 15 Dec 2015 15:56:10 -0800] rev 27529
crecord: add helper function to determine if we should use curses To fix issue5008 properly, we need a helper function to determine if curses is imported and also if the user has enabled the experimental flag.
Wed, 16 Dec 2015 10:33:19 -0800 crecord: use try/except for import of curses stable
Sean Farley <sean@farley.io> [Wed, 16 Dec 2015 10:33:19 -0800] rev 27528
crecord: use try/except for import of curses Not only does this improve fragility with 'if os.name == ...' it will help future patches enable the behavior to fallback to use plain record when curses is unavailable (e.g. python compiled without curses support).
Sun, 27 Dec 2015 23:55:54 +0900 histedit: only use pickle if not using the modern save format
Bryan O'Sullivan <bos@serpentine.com> [Sun, 27 Dec 2015 23:55:54 +0900] rev 27527
histedit: only use pickle if not using the modern save format This avoids a case where PyPy's cPickle module throws a more confusing error than CPython's.
Sun, 27 Dec 2015 23:55:54 +0900 perf: close transaction in perffncachewrite
Bryan O'Sullivan <bos@serpentine.com> [Sun, 27 Dec 2015 23:55:54 +0900] rev 27526
perf: close transaction in perffncachewrite This fixes a bug, and brings CPython behaviour on this test into line with PyPy.
Sun, 27 Dec 2015 23:55:54 +0900 hbisect: use tryreadlines to load state
Bryan O'Sullivan <bos@serpentine.com> [Sun, 27 Dec 2015 23:55:54 +0900] rev 27525
hbisect: use tryreadlines to load state This closes the file handle after reading, which stops PyPy from leaking open file handles and thus failing test-bisect3.t.
Sun, 27 Dec 2015 23:55:54 +0900 eol: make output stable
Bryan O'Sullivan <bos@serpentine.com> [Sun, 27 Dec 2015 23:55:54 +0900] rev 27524
eol: make output stable This eliminates a divergence in behaviour between PyPy and Python.
Wed, 23 Dec 2015 12:32:08 -0800 exchange: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 23 Dec 2015 12:32:08 -0800] rev 27523
exchange: use absolute_import
Wed, 23 Dec 2015 12:30:14 -0800 localrepo: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 23 Dec 2015 12:30:14 -0800] rev 27522
localrepo: use absolute_import
Mon, 21 Dec 2015 21:52:58 -0800 httpconnection: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:52:58 -0800] rev 27521
httpconnection: use absolute_import
Wed, 23 Dec 2015 12:27:24 -0800 import-checker: force 'logging' to stdlib module
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 23 Dec 2015 12:27:24 -0800] rev 27520
import-checker: force 'logging' to stdlib module Not sure why this isn't getting picked up. Perhaps we're not handling stdlib paths that have sub-modules? Something to investigate for another day...
Wed, 23 Dec 2015 22:48:48 +0900 test-install: embed wix namespace for Python 2.6 compatibility
Yuya Nishihara <yuya@tcha.org> [Wed, 23 Dec 2015 22:48:48 +0900] rev 27519
test-install: embed wix namespace for Python 2.6 compatibility According to doc, the syntax is "{uri}tag". https://docs.python.org/2.7/library/xml.etree.elementtree.html#parsing-xml-with-namespaces
Wed, 23 Dec 2015 17:54:13 +0000 fileset: add hint for list error to use or
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 17:54:13 +0000] rev 27518
fileset: add hint for list error to use or
Wed, 23 Dec 2015 17:54:03 +0000 revset: add hint for list error to use or
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 17:54:03 +0000] rev 27517
revset: add hint for list error to use or
Wed, 23 Dec 2015 17:39:32 +0000 error: make ParseError inherit from HintException
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 17:39:32 +0000] rev 27516
error: make ParseError inherit from HintException
Wed, 23 Dec 2015 17:38:24 +0000 error: refactor OutOfBandError to inherit from HintException
timeless <timeless@mozdev.org> [Wed, 23 Dec 2015 17:38:24 +0000] rev 27515
error: refactor OutOfBandError to inherit from HintException
Tue, 22 Dec 2015 20:10:22 +0000 phases: mention how to make secret commits in help
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 20:10:22 +0000] rev 27514
phases: mention how to make secret commits in help
Wed, 23 Dec 2015 22:28:52 +0900 mq: use fallback patch name if no alpha-numeric in summary line (issue5025) stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 23 Dec 2015 22:28:52 +0900] rev 27513
mq: use fallback patch name if no alpha-numeric in summary line (issue5025) Before this patch, "hg qimport -r REV" fails, if the summary line of description of REV doesn't contain any alpha-numeric bytes. In this case, all bytes in the summary line 'title' are dropped from 'namebase' by the code path below. namebase = re.sub('[\s\W_]+', '_', title.lower()).strip('_') 'makepatchname()' immediately returns this empty string as valid patch name, because patch name conflicting against empty string never exists. Then, "hg qimport -r REV" is aborted at creation of patch file with empty filename. This situation isn't so rare. For example, ordinary texts in Japanese often consist of non alpha-numeric bytes in UTF-8. This patch makes 'makepatchname()' use fallback patch name if the summary line of imported revision doesn't contain any alpha-numeric bytes.
Tue, 22 Dec 2015 21:38:06 -0800 osutil: c_ssize_t is only available in Python >= 2.7
Bryan O'Sullivan <bos@serpentine.com> [Tue, 22 Dec 2015 21:38:06 -0800] rev 27512
osutil: c_ssize_t is only available in Python >= 2.7
Tue, 22 Dec 2015 21:38:06 -0800 check-seclevel: pass a ui to the extension loader
Bryan O'Sullivan <bos@serpentine.com> [Tue, 22 Dec 2015 21:38:06 -0800] rev 27511
check-seclevel: pass a ui to the extension loader Without this, if an import error occurs (as with pypy), the attempt to report it fails since ui is None.
Tue, 22 Dec 2015 21:38:05 -0800 check-seclevel: add a --debug option
Bryan O'Sullivan <bos@serpentine.com> [Tue, 22 Dec 2015 21:38:05 -0800] rev 27510
check-seclevel: add a --debug option This will make it possible to get semi-meaningful tracebacks if an import error occurs. Why care? Trying to run this script under pypy currently fails, but the true error is obscured.
Mon, 23 Nov 2015 12:14:01 -0500 test-run-tests: glob away a --debug run difference on Windows
Matt Harbison <matt_harbison@yahoo.com> [Mon, 23 Nov 2015 12:14:01 -0500] rev 27509
test-run-tests: glob away a --debug run difference on Windows This internal test is piped through 'grep -v pwd' to eliminate the pwd alias set when running with MSYS. Unfortunately, the '.' from the successful run of the prior internal test precedes the pwd alias for the next test on the same line, so grep filters out '.' too, except for the final test. It also looks like there may be a bug with --debug: the output of the internal test that had this diff says 2 ran, 0 failed (one test being test-failure.t), but if --debug is omitted from the internal test, then it says 2 ran, 1 failed. With this longstanding issue fixed, the test suite finally runs cleanly on Windows (except subrepo merge documented in issue 4988), with 88 skips. \o/
Tue, 22 Dec 2015 21:47:40 -0500 import-checker: force 'ctype.util' to stdlib module
Matt Harbison <matt_harbison@yahoo.com> [Tue, 22 Dec 2015 21:47:40 -0500] rev 27508
import-checker: force 'ctype.util' to stdlib module Not having this caused warnings on Windows: mercurial/pure/osutil.py:12: stdlib import follows local import: os mercurial/pure/osutil.py:13: stdlib import follows local import: socket mercurial/pure/osutil.py:14: stdlib import follows local import: stat mercurial/pure/osutil.py:15: stdlib import follows local import: sys
Tue, 22 Dec 2015 16:28:28 -0800 keepalive: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 22 Dec 2015 16:28:28 -0800] rev 27507
keepalive: use absolute_import
Mon, 21 Dec 2015 21:51:31 -0800 context: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:51:31 -0800] rev 27506
context: use absolute_import
Mon, 21 Dec 2015 21:44:15 -0800 lsprofcalltree: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:44:15 -0800] rev 27505
lsprofcalltree: use absolute_import
Mon, 21 Dec 2015 21:42:14 -0800 byterange: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:42:14 -0800] rev 27504
byterange: use absolute_import There were a lot of imports scattered around this file. They have been consolidated at the top of the file where they belong.
Mon, 21 Dec 2015 21:38:53 -0800 dirstate: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:38:53 -0800] rev 27503
dirstate: use absolute_import
Mon, 21 Dec 2015 21:35:46 -0800 manifest: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:35:46 -0800] rev 27502
manifest: use absolute_import
Mon, 21 Dec 2015 21:32:58 -0800 pvec: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 21:32:58 -0800] rev 27501
pvec: use absolute_import
Tue, 22 Dec 2015 15:25:40 -0800 ui: remove unreachable code
Bryan O'Sullivan <bos@serpentine.com> [Tue, 22 Dec 2015 15:25:40 -0800] rev 27500
ui: remove unreachable code
Tue, 22 Dec 2015 10:58:47 +0000 mercurial.spec: remove execute bit
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 10:58:47 +0000] rev 27499
mercurial.spec: remove execute bit
Tue, 22 Dec 2015 11:05:05 +0000 tests: add execute bit and fix shbang line
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 11:05:05 +0000] rev 27498
tests: add execute bit and fix shbang line
Tue, 22 Dec 2015 11:03:33 +0000 i18n: add execute bit to check-translation.py
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 11:03:33 +0000] rev 27497
i18n: add execute bit to check-translation.py
Tue, 22 Dec 2015 07:59:14 +0000 doc: add execute bit and fix shbang line for gendoc.py
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 07:59:14 +0000] rev 27496
doc: add execute bit and fix shbang line for gendoc.py
Tue, 22 Dec 2015 07:58:44 +0000 contrib: add execute bit for fixpax.py
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 07:58:44 +0000] rev 27495
contrib: add execute bit for fixpax.py
Tue, 22 Dec 2015 07:58:21 +0000 contrib: add execute bit for check-py3-compat.py
timeless <timeless@mozdev.org> [Tue, 22 Dec 2015 07:58:21 +0000] rev 27494
contrib: add execute bit for check-py3-compat.py
Sun, 20 Dec 2015 19:56:23 -0800 perf: make start revision configurable for perfrevlog
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Dec 2015 19:56:23 -0800] rev 27493
perf: make start revision configurable for perfrevlog This will help isolate performance characteristics of delta chains.
Sun, 20 Dec 2015 19:45:55 -0800 perf: use standard arguments for perfrevlog
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 20 Dec 2015 19:45:55 -0800] rev 27492
perf: use standard arguments for perfrevlog We have a convention of using -c|-m|FILE elsewhere for reading from revlogs. Use it for `hg perfrevlog`. While I was here, I also added a docstring to document what this command does, as "perfrevlog" is ambiguous.
Fri, 18 Dec 2015 09:47:21 +0000 test-extension: do not depend on demandimport (issue5012)
Jun Wu <quark@fb.com> [Fri, 18 Dec 2015 09:47:21 +0000] rev 27491
test-extension: do not depend on demandimport (issue5012) When demandimport is disabled, the test will fail because extroot/foo.py uses import outside PYTHONPATH. This is bad since we have a PyPy migration plan and it does not support demandimport. Fix by setting PYTHONPATH.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 tip