Sun, 19 Feb 2017 19:37:14 +0900 dagop: move blockancestors() and blockdescendants() from context
Yuya Nishihara <yuya@tcha.org> [Sun, 19 Feb 2017 19:37:14 +0900] rev 32922
dagop: move blockancestors() and blockdescendants() from context context.py seems not a good place to host these functions. % wc -l mercurial/context.py mercurial/dagop.py 2306 mercurial/context.py 424 mercurial/dagop.py 2730 total
Sun, 16 Oct 2016 18:03:24 +0900 dagop: split module hosting DAG-related algorithms from revset
Yuya Nishihara <yuya@tcha.org> [Sun, 16 Oct 2016 18:03:24 +0900] rev 32921
dagop: split module hosting DAG-related algorithms from revset This module hosts the following functions. They are somewhat similar (e.g. scanning revisions using heap queue or stack) and seem non-trivial in algorithmic point of view. - _revancestors() - _revdescendants() - reachableroots() - _toposort() I was thinking of adding revset._fileancestors() generator for better follow() implementation, but it would be called from context.py as well. So I decided to create new module. Naming is hard. I couldn't come up with any better module name, so it's called "dag operation" now. I rejected the following candidates: - ancestor.py - existing, revlog-level DAG algorithm - ancestorset.py - doesn't always return a set - dagalgorithm.py - hard to type - dagutil.py - existing - revancestor.py - I want to add fileancestors() % wc -l mercurial/dagop.py mercurial/revset.py 339 mercurial/dagop.py 2020 mercurial/revset.py 2359 total
Thu, 15 Jun 2017 17:14:53 -0700 tests: protect tests involving git ext::sh with git-ext-sh
Sean Farley <sean@farley.io> [Thu, 15 Jun 2017 17:14:53 -0700] rev 32920
tests: protect tests involving git ext::sh with git-ext-sh
Thu, 15 Jun 2017 17:13:23 -0700 hghave: add has_git_range for testing if git understands ext::sh
Sean Farley <sean@farley.io> [Thu, 15 Jun 2017 17:13:23 -0700] rev 32919
hghave: add has_git_range for testing if git understands ext::sh Even on CentOS 7, git is at version 1.8. It seems git 1.9 is when ext::sh was introduced so we a check for that. The way these functions are written follows the same style and format for the way we check svn and bzr versions.
Sat, 17 Jun 2017 23:09:47 -0700 rebase: rewrite "x in y.children()" as "y in x.parents()"
Martin von Zweigbergk <martinvonz@google.com> [Sat, 17 Jun 2017 23:09:47 -0700] rev 32918
rebase: rewrite "x in y.children()" as "y in x.parents()" children() is slow
Sat, 17 Jun 2017 23:09:39 -0700 shelve: rewrite "x in y.children()" as "y in x.parents()"
Martin von Zweigbergk <martinvonz@google.com> [Sat, 17 Jun 2017 23:09:39 -0700] rev 32917
shelve: rewrite "x in y.children()" as "y in x.parents()" children() is slow
Sat, 17 Jun 2017 17:16:28 +0530 py3: use open() instead of file() constructor
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 17:16:28 +0530] rev 32916
py3: use open() instead of file() constructor The file() constructor has been removed in python 3.
Sat, 17 Jun 2017 15:29:26 +0530 py3: convert keys of kwargs back to bytes using pycompat.byteskwargs()
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 15:29:26 +0530] rev 32915
py3: convert keys of kwargs back to bytes using pycompat.byteskwargs()
Sat, 17 Jun 2017 15:05:11 +0530 py3: use pycompat.strkwargs() to convert kwargs keys to str before passing
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 15:05:11 +0530] rev 32914
py3: use pycompat.strkwargs() to convert kwargs keys to str before passing
Sat, 17 Jun 2017 14:53:25 +0530 py3: use '%d' instead of '%s' for integers
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 14:53:25 +0530] rev 32913
py3: use '%d' instead of '%s' for integers Python 3 does not let you use '%s' for integers.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip