Mon, 23 Apr 2018 23:22:52 -0400 infinitepush: ensure fileindex bookmarks use '/' separators (issue5840) stable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 23 Apr 2018 23:22:52 -0400] rev 37811
infinitepush: ensure fileindex bookmarks use '/' separators (issue5840) After loading up with status messages, I noticed that the subsequent matcher was rejecting 'scratch\mybranch' on Windows. No bookmarks were reported back, and the tests subsequently failed. I did a search for 'match', and nothing else looks like it needs to be fixed up, but someone who understands this code should also take a look. I also tried setting `infinitepush.branchpattern=re:scratch\\.*` in library-infinitepush.sh without this change, but that didn't work. Still, should we ban '\' in these bookmarks to avoid confusion? I thought I saw code that sandwiches a pattern between 're:^' and '.*', so perhaps regex characters will need special care? I also noticed comments in externalbundlestore.{read,write} that it won't work on Windows because of opening an open file. But I don't see a test failure, so this may lack test coverage.
Sun, 22 Apr 2018 11:54:10 -0700 interfaceutil: module to stub out zope.interface stable
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 22 Apr 2018 11:54:10 -0700] rev 37810
interfaceutil: module to stub out zope.interface The startup time of `hg` increased during the 4.6 development cycle. A cause of that was importing more modules and doing more work at module import time. The import of zope.interface and the declaring of various interfaces is partially responsible for the startup time regression. Our current usage of zope.interface doesn't do much at run time: we are merely declaring interfaces and stating that certain types implement various interfaces. Core Mercurial is not (yet) using of any of zope.interface features that actually require that interface plumbing be defined. The only place we actually need the interface metadata is in test-check-interfaces.py. This commit establishes a new interfaceutil module. It exposes the subset of the zope.interface API that we currently use. By default, the APIs no-op. But if an environment variable is set, we export the real zope.interface APIs. Existing importers of zope.interface have been converted to use the new module. test-check-interfaces.py has been updated to define the environment variable so the real zope.interface is used. The net effect of this change is we stop importing 9 zope.interface.* modules and we no longer perform interface bookkeeping when registering interfaces. On my i7-6700K on Linux, a shell loop that runs `hg log -r .` 300 times on a repo with 1 commit shows a significant CPU time improvement (average of 4 runs): 4.5: 14.814s before: 19.028s after: 16.945s And with `run-tests.py -j10` (single run): 4.5: ~3100s (~51.7m) before: ~4450s (~74.2m) after: ~3980s (~66.3m) So this claws back about half of the regressions in 4.6. Differential Revision: https://phab.mercurial-scm.org/D3419
Mon, 23 Apr 2018 21:13:19 +0900 test-fix: normalize precision of mtime copied by 'cp -p' stable
Yuya Nishihara <yuya@tcha.org> [Mon, 23 Apr 2018 21:13:19 +0900] rev 37809
test-fix: normalize precision of mtime copied by 'cp -p' Appears that MSYS cp only copies mtime in seconds.
Fri, 20 Apr 2018 14:43:45 -0400 merge stable heads stable
Augie Fackler <augie@google.com> [Fri, 20 Apr 2018 14:43:45 -0400] rev 37808
merge stable heads
Fri, 20 Apr 2018 14:37:48 -0400 Added signature for changeset 1ec874717d8a stable
Augie Fackler <raf@durin42.com> [Fri, 20 Apr 2018 14:37:48 -0400] rev 37807
Added signature for changeset 1ec874717d8a
Fri, 20 Apr 2018 14:37:47 -0400 Added tag 4.6rc1 for changeset 1ec874717d8a stable
Augie Fackler <raf@durin42.com> [Fri, 20 Apr 2018 14:37:47 -0400] rev 37806
Added tag 4.6rc1 for changeset 1ec874717d8a
Fri, 20 Apr 2018 15:39:32 +0200 internals: correct capitalization of 'compression' stream level parameter stable
Kim Alvefur <zash@zash.se> [Fri, 20 Apr 2018 15:39:32 +0200] rev 37805
internals: correct capitalization of 'compression' stream level parameter
Fri, 20 Apr 2018 20:54:32 +0900 test-check-code: prevent from adding Python modules shadowed by ancient C stable 4.6rc1
Yuya Nishihara <yuya@tcha.org> [Fri, 20 Apr 2018 20:54:32 +0900] rev 37804
test-check-code: prevent from adding Python modules shadowed by ancient C
Fri, 20 Apr 2018 20:48:10 +0900 diffhelper: rename module to avoid conflicts with ancient C module (issue5846) stable
Yuya Nishihara <yuya@tcha.org> [Fri, 20 Apr 2018 20:48:10 +0900] rev 37803
diffhelper: rename module to avoid conflicts with ancient C module (issue5846) Historically we had had C extensions in mercurial/, which shadows the pure Python modules of the same name forever unless we do clean build/install. I'm sloppy to think about new name, so just dropped the "s".
Thu, 19 Apr 2018 23:33:17 +0900 diffhelpers: backport 9e40bc4c1bde from C implementation stable
Yuya Nishihara <yuya@tcha.org> [Thu, 19 Apr 2018 23:33:17 +0900] rev 37802
diffhelpers: backport 9e40bc4c1bde from C implementation 9e40bc4c1bde just says "harden testhunk." I don't think this would be the case, but it makes some sense to avoid negative index.
Fri, 20 Apr 2018 20:38:29 +0900 version: make parser more robust for rc variants and ill-formed strings stable
Yuya Nishihara <yuya@tcha.org> [Fri, 20 Apr 2018 20:38:29 +0900] rev 37801
version: make parser more robust for rc variants and ill-formed strings
Wed, 18 Apr 2018 19:02:44 -0600 phabricator: specify some metadata compatibly with arc stable
Tom Prince <mozilla@hocat.ca> [Wed, 18 Apr 2018 19:02:44 -0600] rev 37800
phabricator: specify some metadata compatibly with arc Differential Revision: https://phab.mercurial-scm.org/D3414
Thu, 19 Apr 2018 19:46:24 +0900 diff: restore original color scheme for worddiff stable
Yuya Nishihara <yuya@tcha.org> [Thu, 19 Apr 2018 19:46:24 +0900] rev 37799
diff: restore original color scheme for worddiff I'm not young. "red dim" is nearly invisible, and "red" vs "red dim" is too subtle to see difference. And, "underline" is necessary to highlight whitespace changes.
Thu, 19 Apr 2018 22:12:10 +0900 test-fix: fix use of 'f --newer' to check that foo.whole is not updated stable
Yuya Nishihara <yuya@tcha.org> [Thu, 19 Apr 2018 22:12:10 +0900] rev 37798
test-fix: fix use of 'f --newer' to check that foo.whole is not updated Here we want to assert not 'mtime(foo.whole.orig) < mtime(foo.whole)'. The condition has to be inverted since 'f --newer' says "newer" if the mtimes match. Alternatively, we could insert 'sleep 2' before 'cp' to ensure that foo.whole.orig is newer than foo.whole, but a fewer sleeps should be better.
Thu, 19 Apr 2018 19:55:51 +0900 context: translate FilteredIndex/LookupError at repo[changeid] (API) stable
Yuya Nishihara <yuya@tcha.org> [Thu, 19 Apr 2018 19:55:51 +0900] rev 37797
context: translate FilteredIndex/LookupError at repo[changeid] (API) This partially backs out ecd3f6909184. It seems layering violation for repo[changeid] to raise storage-level exceptions transparently. Otherwise, we would have to rewrite callers to catch all of them. try: repo[rev_or_node] except (error.RepoLookupError, error.FilteredIndexError, error.FilteredLookupError): pass This would also fix filectx._changectx(), which catches FilteredRepoLookupError to fall back to the unfiltered path.
Thu, 19 Apr 2018 20:22:33 +0900 inifinitepush: fix filebundlestore to close file stable
Yuya Nishihara <yuya@tcha.org> [Thu, 19 Apr 2018 20:22:33 +0900] rev 37796
inifinitepush: fix filebundlestore to close file
Wed, 18 Apr 2018 15:07:06 +0200 notify: only notify for non-filtered revision stable
Boris Feld <boris.feld@octobus.net> [Wed, 18 Apr 2018 15:07:06 +0200] rev 37795
notify: only notify for non-filtered revision This should fix issue5821 for hook targeting individual revision.
Wed, 18 Apr 2018 15:05:12 +0200 notify: access the initial revision on an unfiltered repository (issue5821) stable
Boris Feld <boris.feld@octobus.net> [Wed, 18 Apr 2018 15:05:12 +0200] rev 37794
notify: access the initial revision on an unfiltered repository (issue5821) This should avoid crash when the first revision pushed end up being hidden.
Wed, 18 Apr 2018 15:04:12 +0200 notify: use changelog API to iterate over revision number (issue5821) stable
Boris Feld <boris.feld@octobus.net> [Wed, 18 Apr 2018 15:04:12 +0200] rev 37793
notify: use changelog API to iterate over revision number (issue5821) This will avoid iterating over filtered revision.
Thu, 19 Apr 2018 00:55:36 -0400 infinitepush: open files in binary mode stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 19 Apr 2018 00:55:36 -0400] rev 37792
infinitepush: open files in binary mode This fixes the scary looking abort in test-infinitepush-ci.t when unbundling: --- tests/test-infinitepush-ci.t +++ tests/test-infinitepush-ci.t.err @@ -84,15 +84,12 @@ $ hg unbundle .hg/scratchbranches/filebundlestore/a4/c2/a4c202c147a9c4bb91bbadb56321fc5f3950f7f2 adding changesets - adding manifests - adding file changes - added 1 changesets with 1 changes to 1 files - new changesets 6cb0989601f1 - (run 'hg update' to get a working copy) - - $ hg glog - o 1:6cb0989601f1 added a - | public + transaction abort! + rollback completed + abort: stream ended unexpectedly (got 68 bytes, expected 218759168) + [255] + + $ hg glog @ 0:67145f466344 initialcommit public This was found by grepping for '"r', "'r", '"w' and "'w" after manually creating a bundle from the same revision, diffing against the corrupt one, and seeing CRs sprinkled around. Sadly, the missing bookmarks are still a problem in the two remaining test failures.
Fri, 30 Mar 2018 21:12:09 -0400 tests: stabilize test-fix.t for Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Fri, 30 Mar 2018 21:12:09 -0400] rev 37791
tests: stabilize test-fix.t for Windows
Wed, 18 Apr 2018 15:39:22 -0400 Added signature for changeset ed5448edcbfa stable
Augie Fackler <raf@durin42.com> [Wed, 18 Apr 2018 15:39:22 -0400] rev 37790
Added signature for changeset ed5448edcbfa
Wed, 18 Apr 2018 15:39:21 -0400 Added tag 4.6rc0 for changeset ed5448edcbfa stable
Augie Fackler <raf@durin42.com> [Wed, 18 Apr 2018 15:39:21 -0400] rev 37789
Added tag 4.6rc0 for changeset ed5448edcbfa
Wed, 18 Apr 2018 15:32:08 -0400 merge with default to begin 4.6 freeze stable 4.6rc0
Augie Fackler <augie@google.com> [Wed, 18 Apr 2018 15:32:08 -0400] rev 37788
merge with default to begin 4.6 freeze # no-check-commit because of many vendored packages
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -24 +24 +50 +100 +300 +1000 +3000 +10000 tip