Sat, 11 Mar 2017 12:21:22 -0800 stablerange: adds some caching of the subranges
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:21:22 -0800] rev 2090
stablerange: adds some caching of the subranges The goal of subranges is to be as reusable as possible, so we cache the subrange relationship to take advantage of this.
Sat, 11 Mar 2017 12:15:56 -0800 stablerange: operate on an unfiltered repository
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:15:56 -0800] rev 2089
stablerange: operate on an unfiltered repository We only do operation on ancestors so using unfiltered is fine.
Sat, 11 Mar 2017 12:15:08 -0800 depth: use lower lever function to compute missing
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 12:15:08 -0800] rev 2088
depth: use lower lever function to compute missing The time spend parsing the revset is noticeable.
Sat, 11 Mar 2017 10:26:30 -0800 depth: update depth to code to reuse ancestors depth
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 10:26:30 -0800] rev 2087
depth: update depth to code to reuse ancestors depth Computing the depth of all N revs is no longer 'O(N**2)'
Sat, 11 Mar 2017 09:08:20 -0800 obsdiscovery: extract a smarted depth in utility
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 09:08:20 -0800] rev 2086
obsdiscovery: extract a smarted depth in utility The function is reusing previous depth for ancestors unless this is a merge.
Sat, 11 Mar 2017 08:46:21 -0800 obsdiscovery: simply some of the missing computation
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 08:46:21 -0800] rev 2085
obsdiscovery: simply some of the missing computation
Sun, 12 Mar 2017 08:15:14 -0700 discovery: implement some range based discovery
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 12 Mar 2017 08:15:14 -0700] rev 2084
discovery: implement some range based discovery This use the previously implemented methods to implement some discovery and fetch method using ranges. There is currently major performance issue and some aspect of the protocol will changes.
Fri, 10 Mar 2017 10:36:46 -0800 discovery: introduce a official 'obshash associated to a range
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 10 Mar 2017 10:36:46 -0800] rev 2083
discovery: introduce a official 'obshash associated to a range The hash in a combination of the hash a its subrange. If the range is a leaf, we have the obsmarker relevant to the node in that leaf range.
Thu, 09 Mar 2017 22:57:41 -0800 discovery: introduce "stable slicing" methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 22:57:41 -0800] rev 2082
discovery: introduce "stable slicing" methods We introduce new code that leverage the stable sorting to slices a graph in a way "stable" accross repository. This should allow us to use theses slices for obsolescence markers discovery.
Thu, 09 Mar 2017 19:18:11 -0800 discovery: adds a function doing revnum independant sorting
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 19:18:11 -0800] rev 2081
discovery: adds a function doing revnum independant sorting The function is doing a topological sort without depending on revision number. This make the sort independent of the repository and suitable for discovery.
Thu, 09 Mar 2017 18:36:46 -0800 hgignore: also ignore the 'dist' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:36:46 -0800] rev 2080
hgignore: also ignore the 'dist' directory This is generated by the 'sdist' command
Thu, 09 Mar 2017 18:31:55 -0800 obsexchange: drop unused module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:31:55 -0800] rev 2079
obsexchange: drop unused module shame shame shame
Thu, 09 Mar 2017 18:08:45 -0800 MANIFEST.in: also includes topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:08:45 -0800] rev 2078
MANIFEST.in: also includes topic That was also overlooked when we added topic.
Thu, 09 Mar 2017 18:07:58 -0800 MANIFEST.in: fix to include all evolve submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 18:07:58 -0800] rev 2077
MANIFEST.in: fix to include all evolve submodule This was overlooked before.
Tue, 07 Mar 2017 15:58:15 +0100 obsdiscovery: organize the code by category
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:58:15 +0100] rev 2076
obsdiscovery: organize the code by category A private function get promoted to public since another module uses it.
Thu, 09 Mar 2017 17:50:50 -0800 evolution: drop the old __temporary__.advertiseobsolete option
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:50:50 -0800] rev 2075
evolution: drop the old __temporary__.advertiseobsolete option Mercurial code supports such feature directly though its 'experimental.evolution' config option. So we drop the old code and config.
Thu, 09 Mar 2017 17:34:30 -0800 README: mention the 'serveronly' extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:34:30 -0800] rev 2074
README: mention the 'serveronly' extensions It is now properly installed with the package.
Thu, 09 Mar 2017 17:33:57 -0800 server only: test a more standard method of disabling exchange
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 17:33:57 -0800] rev 2073
server only: test a more standard method of disabling exchange We have an "official" config option from core so lets just use it.
Thu, 09 Mar 2017 12:47:31 -0800 debian: don't delete evolve and topic extensions
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Mar 2017 12:47:31 -0800] rev 2072
debian: don't delete evolve and topic extensions The debian packaging rules deletes all __init__.py to avoid conflicting with the __init__.py that declares the namespace package. Now that the evolve and topic extensions also live in __init__.py files, we clearly don't want to delete all __init__.py files anymore; only the hgext3rd/__init__.py should be deleted.
Thu, 09 Mar 2017 12:20:27 -0800 serveronly: replace exc.message with str(exc)
Arun Kulshreshtha <kulshrax@fb.com> [Thu, 09 Mar 2017 12:20:27 -0800] rev 2071
serveronly: replace exc.message with str(exc) BaseException.message is deprecated in Python 2.6, so use str() instead.
Thu, 09 Mar 2017 13:11:20 -0800 cleanup: stop using 'repo.join' methods
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 13:11:20 -0800] rev 2070
cleanup: stop using 'repo.join' methods These repository method might get deprecated soon. In addition, accessing the vfs-s is not that hard.
Thu, 09 Mar 2017 10:42:50 -0800 setup: add author_email
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 10:42:50 -0800] rev 2069
setup: add author_email The 'sdist' command complains about it otherwise.
Thu, 09 Mar 2017 10:42:25 -0800 readme: make it valid rst
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 09 Mar 2017 10:42:25 -0800] rev 2068
readme: make it valid rst That will eventually please pypi
Thu, 09 Mar 2017 08:33:00 -0800 setup.py: remove unused and harmful code importing mercurial
Martin von Zweigbergk <martinvonz@google.com> [Thu, 09 Mar 2017 08:33:00 -0800] rev 2067
setup.py: remove unused and harmful code importing mercurial This was failing on some build system we have. The import seemed to succeed, but then mercurial.__all__ would fail. I don't know why, but since it's unused anyway, let's just drop it.
Wed, 08 Mar 2017 13:48:35 -0800 docs: update references to installation path
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Mar 2017 13:48:35 -0800] rev 2066
docs: update references to installation path
Wed, 08 Mar 2017 17:07:38 -0800 test: rename serveronly tests to reflect the new extension name
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 17:07:38 -0800] rev 2065
test: rename serveronly tests to reflect the new extension name
Tue, 07 Mar 2017 15:52:04 +0100 evolve: stop running 'serveronly' setup
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:52:04 +0100] rev 2064
evolve: stop running 'serveronly' setup Since there is no common logic remaining the smaller extension we can stop running its setup in the main extensions
Tue, 07 Mar 2017 15:49:22 +0100 discovery: directly merge the 'obsdiscovery' exthelper in top level extensions
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:49:22 +0100] rev 2063
discovery: directly merge the 'obsdiscovery' exthelper in top level extensions There is no reason to proxy it through the 'obsexchange' submodule.
Tue, 07 Mar 2017 15:47:09 +0100 compat: drop advertising of unsupported experimental bundle2 part
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:47:09 +0100] rev 2062
compat: drop advertising of unsupported experimental bundle2 part The support for this part was dropped long ago in 74bc8a0c2c02. But we forgot to remove it from the 'simple4server' extension.
Tue, 07 Mar 2017 15:45:21 +0100 exchange: dispatch all code in 'serveronly' to the appropriate submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:45:21 +0100] rev 2061
exchange: dispatch all code in 'serveronly' to the appropriate submodule All code related to exchange is now in either 'evolve.obsexchange' or 'evolve.obsdiscovery', and the 'serveronly' extension is using their 'exthelper' to set itself up. As a side effect, the 'serveronly' extensions now enable better exchange when pushing from that server too.
Wed, 08 Mar 2017 15:35:16 -0800 capabilities: properly sort capabilities after updating them
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 15:35:16 -0800] rev 2060
capabilities: properly sort capabilities after updating them Capabilities are usually sorted. This is especially useful to avoid silly error in test.
Tue, 07 Mar 2017 15:10:57 +0100 pull: also issue warning for old mercurial version
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:10:57 +0100] rev 2059
pull: also issue warning for old mercurial version
Tue, 07 Mar 2017 15:04:58 +0100 exchange: split between modern and legacy code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 15:04:58 +0100] rev 2058
exchange: split between modern and legacy code We make it clearer what code is old crust and what code is the cutting edge part.
Tue, 07 Mar 2017 14:59:00 +0100 push: add extra warning about pushing to old server
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:59:00 +0100] rev 2057
push: add extra warning about pushing to old server Pushing using old method is slow and racy. We adds warning to point this to the user. We also add inline comment to clarify the function purpose.
Tue, 07 Mar 2017 14:45:02 +0100 push: exit obsexchange early if disabled
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:45:02 +0100] rev 2056
push: exit obsexchange early if disabled We were exiting the function later, in particular -after- issuing a message about exchanging obsmarkers.
Tue, 07 Mar 2017 14:41:53 +0100 compat: drop special code handling change in push/pull op API
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:41:53 +0100] rev 2055
compat: drop special code handling change in push/pull op API All version of Mercurial we support have the same API.
Tue, 07 Mar 2017 14:29:43 +0100 discovery: split discovery related code in 'obsdiscovery'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:29:43 +0100] rev 2054
discovery: split discovery related code in 'obsdiscovery' More code splitting for more clarity.
Tue, 07 Mar 2017 14:19:12 +0100 exchange: rename the module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 14:19:12 +0100] rev 2053
exchange: rename the module Let's add a 'obs' prefix to make the module role clearer.
Wed, 08 Mar 2017 23:04:45 +0100 setup.py: include all evolve submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 08 Mar 2017 23:04:45 +0100] rev 2052
setup.py: include all evolve submodule We are splitting more and more code into submodule, we make sure their are properly installed. As a side effect the 'legacy' module is now installed, that is not too important. The 'evolve.hack' package is still non installed by default, as intended.
Tue, 07 Mar 2017 09:47:37 -0800 evolve: switch away from deprecated repo.opener
Martin von Zweigbergk <martinvonz@google.com> [Tue, 07 Mar 2017 09:47:37 -0800] rev 2051
evolve: switch away from deprecated repo.opener
Tue, 07 Mar 2017 13:31:19 +0100 serveronly: use the same extensions metadata than evolve
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:31:19 +0100] rev 2050
serveronly: use the same extensions metadata than evolve This will avoid them to drift out of sync with evolve.
Tue, 07 Mar 2017 13:24:07 +0100 evolve: move extension metadata in their own module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:24:07 +0100] rev 2049
evolve: move extension metadata in their own module This will allow the server only extension to reuse them. As a side effect we can now simplify the config parsing in setup.py
Tue, 07 Mar 2017 13:12:27 +0100 evolve: specify the 'minimalhgversion'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 13:12:27 +0100] rev 2048
evolve: specify the 'minimalhgversion' 3.7 added a new nice and shinny variable to help user know when they use the wrong version of Mercurial with an extension. We now use it.
Tue, 07 Mar 2017 12:27:01 +0100 serveronly: give the sub extension a way to access to the 'evolve' module
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:27:01 +0100] rev 2047
serveronly: give the sub extension a way to access to the 'evolve' module We keep it as clean as possible but if the extension is specified with a direct path, we have to be a bit hacky. Being able to access the whole evolve extension from the 'serveronly' extension will lift multiple constraints on how we organise the code and will allow for cleaner and clearer code. We extract a minor function into a 'utility' module to have something to depends on.
Tue, 07 Mar 2017 12:10:05 +0100 test: update test to check for various way to import the serveronly things
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:10:05 +0100] rev 2046
test: update test to check for various way to import the serveronly things We add a "setup script" that update the PYTHONPATH to allow direct import of the extension code. Then we tests that all way to import the extensions works.
Tue, 07 Mar 2017 12:04:05 +0100 tests: move "test setup" script into a 'testlib' directory
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 07 Mar 2017 12:04:05 +0100] rev 2045
tests: move "test setup" script into a 'testlib' directory This will avoid cluttering the tests directory.
Sat, 04 Mar 2017 02:56:50 +0100 exchange: move code related to exchange into a 'evolve.exchange' submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 02:56:50 +0100] rev 2044
exchange: move code related to exchange into a 'evolve.exchange' submodule The evolve extension is HUGE, we split exchange code appart before doing more work on it.
Sat, 04 Mar 2017 03:37:32 +0100 exthelper: move command declaration into the exthelper
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 03:37:32 +0100] rev 2043
exthelper: move command declaration into the exthelper This is necessary to allow sub module to declare commands too.
Sat, 04 Mar 2017 01:43:36 +0100 exthelper: add a 'merge' method
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 01:43:36 +0100] rev 2042
exthelper: add a 'merge' method This will help us spread more code in different sub module.
Sat, 04 Mar 2017 01:21:43 +0100 exthelper: extract into its own submodule
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 04 Mar 2017 01:21:43 +0100] rev 2041
exthelper: extract into its own submodule That code is fairly independant, we extract it into its own extensions to clarify the code
Fri, 03 Mar 2017 10:58:59 +0100 makefile: add an 'install-home' target
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 03 Mar 2017 10:58:59 +0100] rev 2040
makefile: add an 'install-home' target It is similar to the Mercurial one.
Fri, 03 Mar 2017 10:58:30 +0100 makefile: only check for HGROOT when running tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 03 Mar 2017 10:58:30 +0100] rev 2039
makefile: only check for HGROOT when running tests Otherwise we breaks other target that do not needs HGROOT.
Thu, 02 Mar 2017 20:13:47 +0100 tests: split pyflake and flake8 tests
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:13:47 +0100] rev 2038
tests: split pyflake and flake8 tests This allow more parallelism and better skip message
Thu, 02 Mar 2017 20:24:17 +0100 flake8: run on all python file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:24:17 +0100] rev 2037
flake8: run on all python file We can now run it on all file in the repository to catch potential regression.
Thu, 02 Mar 2017 20:23:45 +0100 flake8: fix error in 'setup.py'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:23:45 +0100] rev 2036
flake8: fix error in 'setup.py' Some strange indentation in there.
Thu, 02 Mar 2017 20:23:18 +0100 flake8: fix error in 'test2rst.py'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:23:18 +0100] rev 2035
flake8: fix error in 'test2rst.py' There is variosu dead code in there :-/ but we just fix flake8 complains for now.
Thu, 02 Mar 2017 20:22:29 +0100 flake8: remove "error" in documentation configuration
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 20:22:29 +0100] rev 2034
flake8: remove "error" in documentation configuration The "error" are debatable but cheap to fix.
Thu, 02 Mar 2017 18:14:33 +0100 flake8: enable on evolve too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:14:33 +0100] rev 2033
flake8: enable on evolve too Now that all error are fixed we can run it on all file to prevent regression.
Thu, 02 Mar 2017 19:29:37 +0100 flake8: update the code sources to fixes a horde of pyflake warnings
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 19:29:37 +0100] rev 2032
flake8: update the code sources to fixes a horde of pyflake warnings There is many of them, they all fixed.
Thu, 02 Mar 2017 19:28:52 +0100 flake8: register 'xrange' as a builtins
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 19:28:52 +0100] rev 2031
flake8: register 'xrange' as a builtins For some reason, flake8 thinks is is undefined.
(0) -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 tip