Wed, 13 Jan 2016 21:52:26 -0800 obsolete: make _computeobsoleteset much faster
Laurent Charignon <lc2817@columbia.edu> [Wed, 13 Jan 2016 21:52:26 -0800] rev 27784
obsolete: make _computeobsoleteset much faster This patch makes _computeobsoleteset much faster by looping over the draft and secrets as opposed to looping over the successors. This works because "number of draft and secret" is typically way smaller(<100) than the number of successor in the repo (~90k in my checkout of core mercurial as of today). And also because it is very fast to compute "not public()". I timed the code with the following setup: """ from mercurial import hg, ui, obsolete ui = ui.ui() repo = hg.repository(ui, "~/hg") l = repo.obsstore.successors # This caches the result """ With about 90k successors. k=obsolete._computeobsoleteset(repo) before this patch: 10 loops, best of 3: 33.9 ms per loop k=obsolete._computeobsoleteset(repo) after this patch: 10000 loops, best of 3: 83.3 µs per loop
Tue, 12 Jan 2016 08:34:38 +0000 check-commit: sort errors by line number
timeless <timeless@mozdev.org> [Tue, 12 Jan 2016 08:34:38 +0000] rev 27783
check-commit: sort errors by line number
Tue, 12 Jan 2016 08:50:15 +0000 check-commit: try to fix multiline handling
timeless <timeless@mozdev.org> [Tue, 12 Jan 2016 08:50:15 +0000] rev 27782
check-commit: try to fix multiline handling The old code did not understand the difference between the first line of the summary, and a random line in the summary that happened to include a #, or a random line in the changes that happened to include it. 965788d9ae09 is an example where it fails
Thu, 07 Jan 2016 01:28:59 +0000 check-commit: support REVs as commandline arguments
timeless <timeless@mozdev.org> [Thu, 07 Jan 2016 01:28:59 +0000] rev 27781
check-commit: support REVs as commandline arguments usage: * HG_NODE=REV check-commit * hg export REV | check-commit * check-commit REV ...
Thu, 07 Jan 2016 00:55:45 +0000 check-commit: modularize
timeless <timeless@mozdev.org> [Thu, 07 Jan 2016 00:55:45 +0000] rev 27780
check-commit: modularize
Thu, 07 Jan 2016 03:58:40 +0000 check-commit: fix summary length regexp
timeless <timeless@mozdev.org> [Thu, 07 Jan 2016 03:58:40 +0000] rev 27779
check-commit: fix summary length regexp
Tue, 12 Jan 2016 14:49:35 -0800 util: simplify file I/O functions using context managers
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Jan 2016 14:49:35 -0800] rev 27778
util: simplify file I/O functions using context managers
Tue, 12 Jan 2016 14:49:10 -0800 run-tests: use a context manager for file I/O in TextTestRunner
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Jan 2016 14:49:10 -0800] rev 27777
run-tests: use a context manager for file I/O in TextTestRunner
Tue, 12 Jan 2016 14:48:27 -0800 bundlerepo: use context manager for file I/O in _writetempbundle
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Jan 2016 14:48:27 -0800] rev 27776
bundlerepo: use context manager for file I/O in _writetempbundle
Tue, 12 Jan 2016 14:47:21 -0800 shelve: use a context manager for file I/O in listcmd
Bryan O'Sullivan <bryano@fb.com> [Tue, 12 Jan 2016 14:47:21 -0800] rev 27775
shelve: use a context manager for file I/O in listcmd
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip