Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:18:01 +0100] rev 2185
stablerange: introduce caching for the full revision in a set
Such cache proved handy in the "per-range" class so we carry it along to the
unified class. cf documentation for details.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:11:19 +0100] rev 2184
stablerange: add a cache for stablesort ordering
This will be very handy for merge, cf inline documentation for details.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 20:05:21 +0100] rev 2183
stablerange: move revs computation within the main class
We still need to compute the revision withing a range when we slice a merge.
This is the last large logic that remains in the individual class and we migrate
is on the main class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:42:37 +0100] rev 2182
stablerange: minor method reorders on the main class
We put the public method first for clarify.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:30:23 +0100] rev 2181
stablerange: drop "key" and "id" logic form the class
We can restrict to the bare minimun for equality and hashing now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:28:14 +0100] rev 2180
stablerange: drop length from the class
There is not remaining user.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:26:40 +0100] rev 2179
stablerange: drop _depth
Nothing uses it anymore.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:25:12 +0100] rev 2178
stablerange: drop __repr__
IT was used for debug and the class is on it way out.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:23:32 +0100] rev 2177
stablerange: drop the subranges method on the small class
Nobody use it anymore.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:41 +0100] rev 2176
stablerange: use subranges from the main class in subrangesclosure
This is the last method used on the class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:21:18 +0100] rev 2175
stablerange: use subranges from the main class in _obshashrange
This is the last method used on the class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 19:20:30 +0100] rev 2174
stablerange: use subranges from the main class in findrangemissing
This is the last method used on the class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:55:26 +0100] rev 2173
stablerange: make sure nobody use '.depth' anymore
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:54:45 +0100] rev 2172
stablerange: use depthrevs in range slicing
We stop using the property from the class to get us closer to tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:53:25 +0100] rev 2171
stablerange: use depthrevs in debugstablerange
We stop using the property from the class to get us closer to tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:41:26 +0100] rev 2170
stablerange: use rangelength inside the class itself
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:54 +0100] rev 2169
stablerange: use rangelength in '_slicesatrange'
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:40:19 +0100] rev 2168
stablerange: use rangelength in '_slicepoint'
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:39:47 +0100] rev 2167
stablerange: use rangelength in subrangesclosure
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:37:11 +0100] rev 2166
stablerange: use rangelength in _obshashrange
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:36:37 +0100] rev 2165
stablerange: use rangelength in debugstablerange
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 18:35:05 +0100] rev 2164
stablerange: use rangelength in findmissingrange
We stop using the building '__len__' this get use closer to be able to use a
tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:59:21 +0100] rev 2163
stablerange: make sure nobody use '.index' anymore
We rename the attribute for good measure.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:57:04 +0100] rev 2162
stablerange: stop using '.index' inside the class itself
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:55:57 +0100] rev 2161
stablerange: stop using '.index' in '_slicesrangeat'
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:53:39 +0100] rev 2160
stablerange: stop using '.index' in '_slicepoint'
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:53 +0100] rev 2159
stablerange: stop using '.index' in 'rangelength'
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:29 +0100] rev 2158
stablerange: stop using '.index' in '_queryrange'
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:52:08 +0100] rev 2157
stablerange: stop using '.index' in debugstablerange
We now access '[1]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:48:39 +0100] rev 2156
stablerange: make sure nobody use the 'stablekey' property outside the class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:47:09 +0100] rev 2155
stablerange: make sure nobody use '.head' anymore
We rename the attribute for good measure.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:39 +0100] rev 2154
stablerange: stop using '.head' inside the class
We now access '[0]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:45:21 +0100] rev 2153
stablerange: stop using '.head' in '_slicesrangeat'
We now access '[0]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:44:10 +0100] rev 2152
stablerange: stop using '.head' in '_slicepoint'
We now access '[0]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:36 +0100] rev 2151
stablerange: stop using '.head' in rangelength
We now access '[0]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:43:18 +0100] rev 2150
stablerange: stop using '.head' in debugstablerange
We now access '[0]' as we'll do with the future tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:38:28 +0100] rev 2149
stablerange: remove node unused 'node' property
Close to killing that object.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:35:08 +0100] rev 2148
stablerange: stop using '.node' in __repr__
This remove the last user to this method.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 17:33:41 +0100] rev 2147
stablerange: change the key to use the revision number
Using node is more stable but for now do not have on disk caching and revision
number should be find in memory. This makes the data used for the file cache
closer to what it will be when we use tuple.
We might reintroduce node in the future but let us keep it simple for now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:44 +0100] rev 2146
stablerange: stop using '.node' in _queryrange
We access the range-head revision number by index and convert it on site.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:05:32 +0100] rev 2145
stablerange: stop using '.node' in debugstablerange
We access the range-head revision number by index and convert it on site.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:04:30 +0100] rev 2144
stablerange: stop using '.node' in findmissingrange
We access the range-head revision number by index and convert it on site.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:03:57 +0100] rev 2143
stablerange: stop using '.node' in obshashrange
We access the range-head revision number by index and convert it on site.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 06:02:45 +0100] rev 2142
stablerange: stop using '.node' in subrangesclosure
We access the range-head revision number by index and convert it on site.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:15:49 +0100] rev 2141
stablerange: have the class behave as a tuple
If we want people to use a tuple, we should offer them a tuple. This should help
update most of the code iteratively.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:44:39 +0100] rev 2140
obshashrange: extract computation back into the discovery module
This obshash is related to discovery and it seems more appropriate to have to
live there. This remove the last large piece of logic from the class. We'll now
be able to slowly turn it into a tuple.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:36:45 +0100] rev 2139
obshashrange: use a small utility function to access the obshash
If we want the object to disappear we needs the top level code to stop accessing
its attribute.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:32:25 +0100] rev 2138
debugstablerange: minor code reformat
The content of that list will become more complex as we drop the object so we
make sure to have one value per line for clarity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 05:09:21 +0100] rev 2137
stablerange: move the subrangesclosure inside the module
This seems more suitable and open the way to simple update of how we build
things without too much impact outside the module. The debug command is still in
the 'obsdiscovery' module because it also deal to obshash and I'm not sure of
were this should live yet.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 05:33:52 +0100] rev 2136
stablerange: compute subranges from parent when possible
Unless we are a merge, we can infer the standard subranges of a range by reusing
the subranger of its parent. We update the implementation to do so.
We still needs the "old way" for merge. We move that code in a dedicated
function for the sake of simplicity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 04:27:42 +0100] rev 2135
stablerange: add an official warmup function
The function is responsible for making sure we have the necessary data for a
sets of heads. For now this only warm the depth cache. More will follow soon.
Such explicite warmup will be usefull for on disck caching as an early point of
writing will be easier.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:47:31 +0100] rev 2134
stablerange: remove now unnecessary setter
The class is handling all computations and cache access by itself now. So we can
drop this method.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:45:28 +0100] rev 2133
stablerange: directly perform slicing in the getting method
Now that all necessary functions are available, we simply apply the standard
slicing on cache miss and proceed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:43:33 +0100] rev 2132
stablerange: move standard slice point definition in main class
More migration of code away from the doomed individual class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 04:39:00 +0100] rev 2131
stablerange: move the slicing method on the central class
We migrate code away for the individual range class.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:07:01 +0100] rev 2130
stablerange: move the range class in the new module
Our ultimate goal is to remove this class for performance reason. however for
now, it contains most of the code we care about so we migrate it as a block
first.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 03:06:53 +0100] rev 2129
stablesort: move into the stablerange module
The stable range rely on the stable sort so it make senses to move it there.
Will need direct access to it in the future.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:49:40 +0100] rev 2128
subranges: migrate handling of single element range
This is the simplest case by far, so we start with that one. We still use the
rich object as an argument, but we'll do our best to not relying on that. This
is important for performance reason.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:47:28 +0100] rev 2127
stablerange: move the subrange cache into our new class
This is the first step toward having more logic in that class
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 19 Mar 2017 00:44:31 +0100] rev 2126
depth: extract code dedicated to depth of a merge in its own function
The merge case is more complicated than the regular one, we extract is for the sake of
clarity.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 18 Mar 2017 22:48:26 +0100] rev 2125
stablerange: move 'depth' inside a new 'stablerange' module
The stablerange used for discovery requires significant amount of code. There is
algorithme, cache, cache persistence, etc. So we create a dedicated module for
it.
The function is directly moved into a rich class handling cache (for now in
memory) because we know we will need it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:15:58 +0100] rev 2124
obsdiscovery: document the status of the module
I figured i would be useful to document what we expect from the code in each
module.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:13:15 +0100] rev 2123
split: move the debugcommand into a dedicated module
The code related to debugobsstorestat is fairly independant, we move it into its
own module.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 22 Mar 2017 03:00:11 +0100] rev 2122
legacy: move 'debugrecordpruneparents' in the extensions
The transition is a couple of year old now, repository with the old format must
be quite hard to find by now.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 16 Mar 2017 21:16:57 -0400] rev 2121
checks: correct the shebang line filtering for python files
As it is, the only related file is docs/test2rst.py, which was covered by **.py.
Not sure if it matters, but most patterns in core tests are for "#!.*?python".
(Though there are a couple "#!.*python" tests.)
Matt Harbison <matt_harbison@yahoo.com> [Thu, 16 Mar 2017 23:17:07 -0400] rev 2120
tests: add glob for Windows
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 11:58:55 +0100] rev 2119
tests: adds simple test case for heads checking
This is the start of some systemic testing of the head superceeding detection
mechanism.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 21 Mar 2017 10:25:12 +0100] rev 2118
tests: move exchange utility in testlib
We have a testlib directory now lets use it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 16:56:48 -0700] rev 2117
exchange: fix some wrong reference to serveronly
The function have all moved into 'obsexchange' now, so we do not need (and
actually cannot) seek them in 'evolve.serveronly'.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:50:43 -0700] rev 2116
checks: add a test that check MANIFEST.in content
This make sure we keep the things updated.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:43:19 -0700] rev 2115
README: add a link to mercurial devel
This will help people to find the mailing list details.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:42:51 -0700] rev 2114
README: tries to improve the title about server only
This seems a bit better.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:42:21 -0700] rev 2113
README: remove mention of make
Using pip in all cases seems a better direction.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 15:02:06 -0700] rev 2112
version: mark the current source as development version for 6.0.0
This is useful to distinguish the development version from the latest tagged
version. In this particular case, this will allow us to publish a pre-version on
pypi.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:52:56 -0700] rev 2111
mercurial-3.8: merge with future evolve-6.0.0
We introduces the new code on the compat branch to check the tests.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:47:20 -0700] rev 2110
mercurial-3.9: merge with hg-4.0 branch
We merge with the code for the future evolve 6.0.0 code to check for
compatibility.
Only minor test output change (" -> ') have been noted.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:38:10 -0700] rev 2109
mercurial-4.0: merge with future 6.0.0
A new version will be released soon, we start handling mismatch in test output
to make the actual release time smoother.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:27:43 -0700] rev 2108
checks: update pyflakes matching too
We make sure to not select removed files.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 14:19:11 -0700] rev 2107
checks: do not run pyflake on removed file
The fileset matches removed files. This confuses pyflakes for good reasons.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:31:03 -0700] rev 2106
compat: closing mercurial-3.7 compatibility branch
The "evolve-6.0.0" release drop compatibility with Mercurial 3.7. No new commit
are expected on this branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:30:41 -0700] rev 2105
compat: closing mercurial-3.6 compatibility branch
The "evolve-6.0.0" release drop compatibility with Mercurial 3.6. No new commit
are expected on this branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:30:13 -0700] rev 2104
compat: closing mercurial-3.4 compatibility branch
The "evolve-6.0.0" release drop compatibility with Mercurial 3.4. No new commit
are expected on this branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:28:58 -0700] rev 2103
compat: closing mercurial-3.5 compatibility branch
The "evolve-6.0.0" release drop compatibility with mercurial 3.5. No new commit
are expected on this branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 11:26:55 -0700] rev 2102
README: timeless typo fixes
This applies some feedback timeless provided me from IRC.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 09:51:25 -0700] rev 2101
cleanup: drop an empty section header
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 14 Mar 2017 09:50:55 -0700] rev 2100
compat: drop some <hg-3.4 compatibility code
The `hg commit` commands has a -i flag for ages now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 23:28:57 -0700] rev 2099
README: more update to prepare for pypi upload
* mention the evolve.serveronly extension,
* remove help related to topic into a different README file.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 16:53:42 -0700] rev 2098
evolve: update the capabilities and commands name for obshashrange
We makes is clear that these version are useful for earlier testing but they are
not ready for any kind of real usage yet.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 16:05:33 -0700] rev 2097
README: more change to have a pretty rendering on pypi
We moves section around and fixes some markup.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:41:02 -0700] rev 2096
MANIFEST.in: fix various mismatch
check-manifest is no longer complaining
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:33:00 -0700] rev 2095
README: rework install instruction
For both evolve and topic. The topic introduction is updated too.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 13 Mar 2017 15:09:21 -0700] rev 2094
README: rework the intro
Less scary wording (similar to the wiki changes) and point to the user mailing
list.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 14:59:09 -0800] rev 2093
rangeobshash: minor cleanup of the obshash code
We achieved minor speedup by delaying the hashing until we know it is needed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 11 Mar 2017 14:46:27 -0800] rev 2092
stablerange: remove call to 'repo.revs'
It turned out that the percentage of time spend parsing the revset string was
two digits, so we compute de heads inline.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 12 Mar 2017 08:38:39 -0700] rev 2091
stablerange: reuse node calculation as much as possible
We have a property cache with that value, so we just reuse it.
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.
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.
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.
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)'
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.
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
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Martin von Zweigbergk <martinvonz@google.com> [Wed, 08 Mar 2017 13:48:35 -0800] rev 2066
docs: update references to installation path
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Martin von Zweigbergk <martinvonz@google.com> [Tue, 07 Mar 2017 09:47:37 -0800] rev 2051
evolve: switch away from deprecated repo.opener
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 19:28:12 +0100] rev 2030
flake8: ignore an addition rules related to import
Our initialization code is too complex to make flake8 happy
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 19:25:54 +0100] rev 2029
flake8: document all the exception we added
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:28:14 +0100] rev 2028
README: mention the addition of the topic extensions
That is probably worth noting.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:14:21 +0100] rev 2027
tests: run pyflake on all python files
We have fixed the handfull of error pyflakes found on evolve so we can setup
the test to prevent regression. Next stop flake8.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:13:57 +0100] rev 2026
serveronly: fix undefined variable
This is a legit bug caught by pyflake
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:13:45 +0100] rev 2025
legacy: properly test for mercurial version in the legacy extensions
Otherwise 'demandimport' would delay the raising of ImportError.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:13:20 +0100] rev 2024
evolve: prevent global variable shadowing
Small and harmless pyflake complains.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:13:03 +0100] rev 2023
evolve: drop some unused variables
More pyflakes catches.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:12:47 +0100] rev 2022
evolve: drop some unused import
topic came with pyflake checking, let us make use of it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:26:47 +0100] rev 2021
README: fix evolve installation path
We forgot to do so when we moved things to hgext3rd.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Mar 2017 18:07:46 +0100] rev 2020
topic: merge the topic extension in the evolve repository
There is a lot of synergy between the two concepts. Topic is expected to be able
to smooth multiple of evolution sharp edge. Having them both in the same
repository will make this collaboration easier.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Feb 2017 15:19:31 +0100] rev 2019
test: adapt to new core output
Troubles are now displayed by log so we have to update the test.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Feb 2017 14:56:22 +0100] rev 2018
test: adapt to change in mercurial output
Nothing major here.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 23 Feb 2017 13:58:52 +0100] rev 2017
compat: handle difference of signature for update destination hooks
The 'check' argument have been dropped in 11c253997b0e. So we make it optional
for compatibility.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 14 Oct 2016 00:54:04 +0200] rev 2016
setup.py: also install 'hgext3rd/__init__.py'
This file is needed for the namespace package to work. (And also for the package
to work on its own at all).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 07 Oct 2016 04:10:23 +0200] rev 2015
tutorial: add a very basic pointer in the readme
Ideally we should at least build the html from the rst.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 30 Sep 2016 18:21:50 +0200] rev 2014
tutorial: add a second part about having multiple topic
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 29 Sep 2016 16:48:13 +0200] rev 2013
tutorial: add a first version of the tutorial with the basics
This is probably not wonderful but at least we have a base.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 13 Sep 2016 17:58:22 +0200] rev 2012
doc: add more details about the head checking
Once again, probably not great, but better than nothing.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 07 Sep 2016 12:45:23 +0200] rev 2011
documentation: some basic update of the documentation
So far the documentation was pretty scarce and a lot of important information
was missing.
The new content is probably not great but it is an improvement.
Anton Shestakov <av6@dwimlabs.net> [Wed, 07 Sep 2016 10:40:18 +0800] rev 2010
flake8: ignore N801
N801 is "class names should use CapWords convention"
The message comes from a pep8 plugin "pep8-naming" which cares about naming
conventions. If the plugin is installed, it is automatically used by pep8 and
flake8.
Anton Shestakov <av6@dwimlabs.net> [Wed, 07 Sep 2016 10:35:47 +0800] rev 2009
flake8: don't ignore E713 now that it's fixed
E713 is "test for membership should be ‘not in’"
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 15:23:03 -0700] rev 2008
flake8: fix E713 style
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 15:22:24 -0700] rev 2007
flake8: fix E301 style
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 15:18:43 -0700] rev 2006
flake8: fix E111 style
OFF BY ONE ERRORS ARE THE WORST
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 15:15:05 -0700] rev 2005
flake8: fix E222 style
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 14:10:16 -0700] rev 2004
flake8: fix E127 style
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 14:12:49 -0700] rev 2003
flake8: fix W391 style
Sean Farley <sean@farley.io> [Tue, 30 Aug 2016 14:05:36 -0700] rev 2002
tests: add flake8 check
This test will hopefully help prevent style errors. To be determined:
which errors / warnings to ignore?
Sean Farley <sean@farley.io> [Sun, 15 May 2016 22:23:16 -0300] rev 2001
flake8: add file for rules to ignore
This will help prevent users that have an editor with flake8
capabilities from fixing linter errors for rules that are not wanted by
the project.
Initially, this ignore list includes everything in the project that
violates pep8. I'll try to ween this list down to something a little
more manageable.
timeless@gmail.com [Fri, 26 Aug 2016 16:57:45 +0000] rev 2000
init: guard _namemap with repo.topics (issue5351)
This prevents reading extra data on all repo commits
when there is no topic for a given name.
_namemap is called a lot, and it is often called for commit
shas -- which should pretty much never be names of topics...
timeless@gmail.com [Fri, 26 Aug 2016 16:52:02 +0000] rev 1999
init: cache repo.topics
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 21:57:48 +0200] rev 1998
stack: add warning about multiple heads
This seems a good spot to nudge people toward reducing there head count.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 14:55:58 +0200] rev 1997
stack: add some behind information
This is the next useful thing after branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 14:23:31 +0200] rev 1996
stack: add some basic branch information
In the same spirit as knowing the topic you are on, having some branch data seem
useful (yet, this smell a bit like summary)
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 14:14:04 +0200] rev 1995
stack: add some header with the topic name
This is the first step of a move to add more data about a stack in the command
output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 14:58:18 +0200] rev 1994
test: add testing of stack output in 'stack-data' test.
We are going to display common information, so we reuse test case.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 14:58:49 +0200] rev 1993
test: rename 'list' test to 'stack-data'
We are about to add stack data information to 'hg stack'. As we'll re-use the
test data creating the 'test-topic-list.t' we need to rename it first to embrace
its new semantic.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 12:58:16 +0200] rev 1992
stack: also dim bases
Now that they may have index it seems better to have a stronger marking for
bases.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 12:52:06 +0200] rev 1991
stack: reusing the index number in base when applicable
This clarify the branching when it is easy to track back the branching point.
This does not takes the evolution graph into account yet.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 26 Aug 2016 12:37:52 +0200] rev 1990
stack: extra argument validation logic outside of showstack
It seems sensible keep the 'showstack' function purely about actually displaying
and existing stack.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 23 Aug 2016 21:18:47 +0200] rev 1989
summary: properly label the topic name in summary
This should be labelled 'topic.active' so that color can pick it up properly.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 23 Aug 2016 23:38:28 +0200] rev 1988
topic: list the branches this topic belong to when verbose
Using the verbose listing a bit more, this seems to be useful information.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 16 Aug 2016 15:43:06 +0200] rev 1987
topic: properly justify the verbose data when listing topic
We align all data to the widest topic.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 16 Aug 2016 15:32:54 +0200] rev 1986
ngtip: rely on topicmap for 'ngtip'
ngtip is an old function that predates the introduction of a more proper topic
aware 'topicmap'. We replace the old code with a call to the new one. This
change set function return type and have minor effect in a couple of place.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Aug 2016 19:57:58 +0200] rev 1985
topic: list the number of 'behind' changeset when --verbose is used
Displaying more information in the topic list is useful, we continue with the
number of 'behind' changesets. This 'behind' count the number of new changesets on
the default rebase destination. This will highlight topics that need rebasing.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 15 Aug 2016 00:19:44 +0200] rev 1984
destination: honor the sourceset argument of _destmerge
Mercurial gained a "sourceset" argument to compute the merge destination of any
changeset (the one in the 'sourceset'). This now works for the version
in topic too. The support is quite basic (because we pick only one changeset
from the sourceset) but that's a start.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 15 Aug 2016 05:25:53 +0200] rev 1983
destmerge: improve topic head computation and handling
This rework get use two benefits:
- heads are now computed on a "stabilized" state,
- heads above the 'source' are now properly cleaned up,
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 15 Aug 2016 05:15:19 +0200] rev 1982
evolve: extract the code copied from evolve in a submodule
This will allow us to use that code in other module.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 15 Aug 2016 01:50:15 +0200] rev 1981
destmerge: honor the 'onheadcheck' argument
This argument was introduced in Mercurial some time ago but the topic extension
was never updated to take it in account. This is now fixed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Aug 2016 23:17:09 +0200] rev 1980
destination: use the correct abort class for error
These errors have been in Mercurial long enough. Having them will make the coming
changesets simpler.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Aug 2016 19:40:53 +0200] rev 1979
topic: list the number of head when --verbose is used
Displaying more information in the topic list is useful, we continue with the
number of heads on the topics, this will help highlight the problem to users. We
only display head if there is more than one.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 13 Aug 2016 01:24:10 +0200] rev 1978
topic: list the number of troubled changesets when --verbose is used
Displaying more information in the topic list is useful, we continue with the
number of troubled changesets. This will help people to spot topics that needs
evolution, for example after a pull.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 12 Aug 2016 23:59:37 +0200] rev 1977
topic: list the number of changesets when --verbose is used
Displaying more information in the topic list is useful, we start with the most
obvious: number of non-obsolete changeset in the topic.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 14 Aug 2016 20:40:46 +0200] rev 1976
topic: add color for the active topic
We reuse the same color that the one used for the active bookmark.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 13 Aug 2016 00:37:33 +0200] rev 1975
topic: add formatter support
Using formatter to output the list of topic will add support for color and
richer templater. We add some test for output control.
We introduce a dedicated test to help with coming more complexe output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 13 Aug 2016 00:13:05 +0200] rev 1974
topic: extract the code listing all topics
The code will become more complexe with formatter support and additional data in
the verbose output. We extract the code in its own function first.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 12 Aug 2016 11:09:26 +0200] rev 1973
stack: introduce and explicite command to display the stack
If is worth testing having the feature lives outside 'hg topic --list'. The
'stack' name is sub optimal because the conflict with 'status'. using "hg st"
would still work as 'st' is hard coded, but this mean 'hg stack' has no short
version.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 22:52:49 +0200] rev 1972
testedwith: update to 3.9
This is might still 3.7 compatible but I'm no longer running the test and I
would says the user base is small enough to not care.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 22:50:58 +0200] rev 1971
topic: make sure we have the 'wlock' when setting topic
We where writing the '.hg/topic' file without a lot. That was bad.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 13 Jul 2016 16:19:41 +0200] rev 1970
cleanup: removed unused mercurial.util import
timeless@gmail.com [Fri, 08 Jul 2016 16:59:43 +0000] rev 1969
compat: tolerate missing rebase extension
timeless@gmail.com [Fri, 08 Jul 2016 16:09:55 +0000] rev 1968
compat: mercurial dropped alias for hashlib.sha1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 11 May 2016 16:22:52 +0200] rev 1967
destination: add an XXX about handling destspace in destmerge
This that we hopefully do not forget about this.
Sean Farley <sean@farley.io> [Mon, 25 Apr 2016 21:24:20 -0700] rev 1966
update: calculate 'partial' as core does
Sean Farley <sean@farley.io> [Mon, 25 Apr 2016 20:00:19 -0700] rev 1965
discovery: flake8
Sean Farley <sean@farley.io> [Mon, 25 Apr 2016 19:59:05 -0700] rev 1964
destination: flake8
Sean Farley <sean@farley.io> [Tue, 22 Mar 2016 14:51:35 -0700] rev 1963
style: update __init__.py
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 11 May 2016 16:06:58 +0200] rev 1962
compat: adapt to the new destspace argument of destmerge
The argument is currently ignored in the topic case for simplicity, but we
properly accept it and propagate it to the original function to prevent crash
and behavior regression in the non-topic case.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Apr 2016 00:28:03 -0700] rev 1961
stack: prevent crash when topic is rooted on nullid
We exclude null from displayed base. This was causing a crash when trying to
display its description (we'll still have to handle the empty description case,
but it is now less urgent).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Apr 2016 00:22:20 -0700] rev 1960
test: add topic on the first 2 changesets too
This will be used to add a test for topic rooted on nullid. We introduce this in
its own changeset to reduce the noise if the actual changeset.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 04 Apr 2016 00:17:54 -0700] rev 1959
test: remove comment about new head warning
The new head warning was buggy. This was fixed in bdc5bb223b50.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 03 Apr 2016 21:41:38 -0700] rev 1958
stack: also change the indexing of the t# reference
Changeset 61f36480740f changed the index displayed (we now index from 1), but
forgot to update the logic used to resolve the 't#' name.
This changeset fixes it.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Apr 2016 16:58:52 -0700] rev 1957
stack: change the ascii symbold for base
Now that the children line go upward, '_' is no longer clear as is take the lower part of the line. We go for '^' that use the upper part.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Apr 2016 16:57:11 -0700] rev 1956
stack: reverse the display order
Most mercurial command display the most recent changeset first. We put `hg topic --list` inline with this.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Apr 2016 16:55:24 -0700] rev 1955
topic: extract display from entry computation
We are about to reverse the order of the output (most recent first) so it will
be useful.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 01 Apr 2016 16:40:19 -0700] rev 1954
stack: start indexing at 't1' instead of 't0'
I think 't0' could have special meaning (eg: before 't1', but still with topic
activated) so let's keep room for that. Indexing from 1 is not crazy anyway.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 23:58:30 -0700] rev 1953
commit: wrap "commitstatus" to take topic into account
The "created new head" message was appearing for every single commit made on a
topic. It should now properly only appears when a new head is actually created
on a topic.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 23:55:31 -0700] rev 1952
uisetup: add call to 'topicmap.modsetup'
this was forgotten in 99c1a26abf3f. Tests did not broke because the wrapping of
cg.apply only have performance impact (cache warmup).
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:33:06 -0700] rev 1951
uisetup: move all remaining wrapping into uisetup
All our wrapping is now properly done at uisetup time. Hooray.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:31:24 -0700] rev 1950
topicmap: move 'cgapply' wrapping into the topicmap module
More gathering of related logic.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:25:17 -0700] rev 1949
topicmap: move the 'usetopicmap' context manager into the topicmap module
There is no good reason to not have it gathered with the rest.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:05:49 -0700] rev 1948
patch: move setup of import/export logic into a function
The function is now called during uisetup.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:04:25 -0700] rev 1947
patch: remove version compatibility check
We don't support anything under 3.7.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:03:44 -0700] rev 1946
patch: document the section about import/export
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 22:02:52 -0700] rev 1945
patch: move import/export wrapping close to the function definition
This gather similar logic together.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 21:53:55 -0700] rev 1944
discovery: move all setup into a 'modsetup' function
The various wrappings are moved into a function that live in the module and the
function is now properly called during 'uisetup'.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:22:50 -0700] rev 1943
revset: add a ui argument to 'modsetup'
This is a gratuitous change for consistency with the function that use it.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:21:44 -0700] rev 1942
revset: run 'modsetup' at uisetup time
We are slowly moving away from module time wrapping. These thing should be done
in the dedicated 'setup' method called by Mercurial.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:20:16 -0700] rev 1941
destination: rename 'setupdest' to 'modsetup'
the topic.revset module use 'modsetup' as a name for its setup function. It
looks like a good name, lets unify names toward that.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:16:19 -0700] rev 1940
destination: document 'setupdest'
Let's make the role of this function clear.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:15:47 -0700] rev 1939
destination: add a ui argument to 'setupdest'
This is a gratuitous change for consistency.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:12:43 -0700] rev 1938
destination: make sure 'setupdest' is the latest function in the module
Let's introduce some consistency, end of module seems fine.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:45:29 -0700] rev 1937
topicmap: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:45:18 -0700] rev 1936
stack: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:45:10 -0700] rev 1935
revset: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:44:59 -0700] rev 1934
discovery: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:44:47 -0700] rev 1933
destination: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:44:37 -0700] rev 1932
init: move to new style import
This unify with the new core Mercurial usage and this will make future changes
to the imports easier to track.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Mar 2016 03:56:14 -0700] rev 1931
test: disable the new style rendering for "missing parent"
The style kicks in when we display a partial tree. Supporting test running both
3.7 and default with this is painful, we disable the new feature for now.
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:39:14 -0700] rev 1930
tests: add pyflakes test
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 28 Mar 2016 00:50:36 -0700] rev 1929
setup: make sure we use the imported module
This prevent pyflakes to complains about it (and work around any possible demand
import magic.
I'm not sure why we do this important dance at all, but I'm leaving it there in
doubt.
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:38:56 -0700] rev 1928
topicmap: whitespace
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 28 Mar 2016 00:47:14 -0700] rev 1927
topiccache: directly instantiate a topiccache object when reading
There is no need to rely on a temporary monkey patching.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Mar 2016 15:29:05 -0700] rev 1926
readme: fix instruction to enable topic
We moved the source code in 85390446f8c1 but we messed up the readme update. We
are fixing it here.
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:30:14 -0700] rev 1925
stack: whitespace
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:29:35 -0700] rev 1924
stack: remove unused import
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:28:29 -0700] rev 1923
revset: add missing imports
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:28:12 -0700] rev 1922
revset: whitespace
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:26:45 -0700] rev 1921
discovery: whitespace
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:25:04 -0700] rev 1920
discovery: removed unused oldgetitem
Sean Farley <sean@farley.io> [Mon, 21 Mar 2016 21:07:41 -0700] rev 1919
setup: break long line
Sean Farley <sean@farley.io> [Sat, 19 Mar 2016 14:15:57 -0700] rev 1918
init: indent correctly
Sean Farley <sean@farley.io> [Sat, 19 Mar 2016 14:15:45 -0700] rev 1917
init: whitespace fixups
Sean Farley <sean@farley.io> [Sat, 19 Mar 2016 14:09:59 -0700] rev 1916
init: remove unused module
timeless@gmail.com [Fri, 18 Mar 2016 15:03:40 +0000] rev 1915
spelling: histedit
timeless@gmail.com [Fri, 18 Mar 2016 15:00:58 +0000] rev 1914
spelling: changeset
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 18 Mar 2016 08:14:45 -0700] rev 1913
readme: remove the part about 3.7 and hgext3rd
We are using direct path already so we don't need any magic here. The
'hgext3rd.'bit is only required (for 3.7) when the module is installed and we
rely on sys.path to find it.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 22 Mar 2016 00:19:14 -0700] rev 1912
merge with other duplicate head
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 09:14:57 -0700] rev 1911
histedit: restrict default edited set to current topic when possible
If we have an active topic, we restrict the edit within that topic.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 09:13:12 -0700] rev 1910
stack: add a 'stack()' revset
We give access to the list of relevant commit with a revset. Benefits over
'topic(.)' are the filtering of obsolete changeset and the reordering (to
topological as-in unstability were resolved).
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 23:37:58 +0000] rev 1909
stack: display the base of the stack
Displaying the first parent of the stack seems useful. I'm even tempted to call
it 't0' and have the topic still active when 'hg up t0' is used to move to the
base.
As a side effect we gain a way to denote that the stack is not linear. I'm not
super convinced that it is the right way to display it, but this is better than
no information.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 19:22:21 +0000] rev 1908
stack: add some default color configuration
We can make the output more insightful with some default colors, let's do it.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 19:03:32 +0000] rev 1907
stack: add basic formatter and label support
This still is not great, especially I would like '-T' to be able to control how
we display the changeset, but this is useful progress.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 18:43:23 +0000] rev 1906
stack: show the currently active changeset and unstable ones
Still super basic, but give a basic idea of the feature. We use both symbols and
explicit text because symbols are cool but text is more explicit
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 18:40:00 +0000] rev 1905
stack: add "t" prefix to index in the output
This make the existance and meaning of "t2" reference clearer.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 18:39:19 +0000] rev 1904
stack: allow to refer to changeset using "t2" form
hg up "t0" is seen as "update to the first changeset of my current topic".
Eventually we'll drop the "t2" form in favor of the planned generic indexing
operator '.{t2}'.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Mar 2016 17:26:57 +0000] rev 1903
topic: don't take topic into account when pushing to non-topic repo
Previously, pushing to a non-publishing repository without topic support would
wrongfully use topic when searching for new heads.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 16 Mar 2016 12:14:20 -0700] rev 1902
destination: fix 'hg pull --rebase'
I'm not sure why sometime functions do not have func_default but this is easy
to fix. I've added a test to catch such stuffs it in the future.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 17 Mar 2016 09:12:18 -0700] rev 1901
packaging: fix setup.py and install as hgext3rd.topic
This changeset is doing two things (gasp):
- It fixes various errors in the setup.py
- It move the topic source and install into hgext3rd.topic.
This last part (code source move) use hgext3rd as namespace package to prevent
installation nightmare. This won't be officially supported until Mercurial 3.8,
but in the meantime, 3.7 user can enable it using the full package name:
[extensions]
hgext3rd.topic=
Thanks goes to Julien Cristau <julien.cristau@logilab.fr> for the initial
version of this.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 16 Mar 2016 12:14:20 -0700] rev 1900
destination: fix 'hg pull --rebase'
I'm not sure why sometime functions does not have func_default but this is easy
to fix. I've added a test to catch such stuff it in the future.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 15 Mar 2016 17:25:18 +0000] rev 1899
discovery: remove a spurious print
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 18:24:33 +0000] rev 1898
task: add index number to the output
We are doing to use these number for easy movement in later changesets. The
numbering will probably evolve over time but this is a good start.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 18:11:52 +0000] rev 1897
stack: fix printing order in case of unstability
The stack was displayed using revision number order, this give good result in
the simple case (straight stack) but give bad result when the stack is not
linear because of unstability.
We fixes it by reusing the evolution logic for sorting. As we do not live next
to evolution yet, we duplicated this logic for now.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 17:48:31 +0000] rev 1896
stack: exclude obsolete changeset from the set
We care about relevant changeset, obsolete have a new version somewhere and we
don't care about the old one in our display.
In case of unstability, the ordering used is still wrong.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 17:37:39 +0000] rev 1895
stack: add a very first version of stack display with 'hg topic --list'
This mark the first step toward a set of feature dedicated to displaying and
moving within the current stack of work. Everything is still super basic so
don't look too much at the feature.
The goals of this changeset are:
* having a flag to trigger the feature
* having a basic (imperfect selection mechanism)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 17:09:02 +0000] rev 1894
topic: get 'Abort' from error, not 'util'
The class live in 'mercurial.error'.
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 21:22:56 -0400] rev 1893
Makefile: meant tests-@ not tests-tip
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 13 Mar 2016 12:29:43 +0000] rev 1892
update: change default update destination to take topic in account
When within a branch update to ngtip(branch). When within a topic update to the
top topic.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 13 Mar 2016 13:07:54 +0000] rev 1891
rebase: test default rebase destination behavior
In future mercurial 3.8, rebase and merge share the same destination logic. So
if merge work, rebase should work as well. However, we double test it to be
sure.
Especially, in 3.7 the logic is not shared so we have to introduce an extra hack
to share it in this case.
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 13 Mar 2016 23:44:04 +0000] rev 1890
topicmap: write and read format from disc
To prevent too awful performance we allow writing and reading topicmap cache.
This is done with a lot of code duplication from core because core is not
extensible enough.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 00:15:54 +0000] rev 1889
topicmap: ensure that 'served' view is updated with topicmap
There is multiple place that explicitly update the 'served' branchmap to ensure
it stay up to date. We ensure it use the proper topicmap in this case.
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 00:12:22 +0000] rev 1888
topicmap: move the monkey patching into a context manager
There is a couple of other place doing branchmap/topicmap update (of the served
set), we'll have to set the monkey patching for them.
This changeset is just doing the move to a context manager to make sure it is
correct.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Mar 2016 18:42:16 +0000] rev 1887
push: hackish handeling of new branch head from phase move
The current head checking mechanism is not expecting "head change" from phase
movement. Topic allows that, changeset with a topic moving to public can
create a new head. We introduce a hack to double check that no head were added
at the transaction level to work around this.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Mar 2016 18:19:27 +0000] rev 1886
push: allow pushing new topic to non-publishing server by default
This improves and fix the behavior change introduced by the new "topicmap".
* Topics are properly ignored when pushing to a publishing server,
* pushing new topics is allowed without --force a non-publishing server,
* Pushing extra heads on a topic requires --force.
Create of new head on a branch by phase movement is not properly detected for
now. We'll improve that part in a later changesets.
There is more awful monkey patching going on. We'll have to refactor core to get
rid of them.
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Mar 2016 15:36:17 +0000] rev 1885
topic: take topic in account for all branch head computation
This changeset introduce a "topicmap" that is tracking not just the head of all
branches, but the heads of all branch+topic pair. Including the head of the part
of the branch without any topic. In practice this means that BRANCHNAME now
resolve to the tipmost part for the branch without topic and impact various
other logic like head checking during push and default destination for update and
merge (these aspect will need adjustment in later changesets).
The on-the-fly-temporary-monkey-patching process is pretty horrible, but allow
to move forward without waiting on having core patched.
We use 'branch:topic' as the branchmap key, this is a small and easy hack that
help use a lot for (future) support of heads discovery/checking and on disc
cache. I'm not sure it is worthwhile to improve this until an implementation
into core.
Note that this changeset change the branchmap in all cases, including during
exchange, see next changeset for improved behavior.
We also currently have the on-disk cache disabled because the core branchmap is
lacking phase information in its cache key. This will get done in a later
changesets
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 20:18:09 -0400] rev 1884
testedwith: declare compatibility with Mercurial 3.7
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 20:17:18 -0400] rev 1883
Makefile: update all-version-tests to explicitly test 3.7
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 20:13:44 -0400] rev 1882
hgignore: also ignore testtimes
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 20:12:39 -0400] rev 1881
killdaemons: discard now that it's unused
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 14 Mar 2016 14:38:40 +0000] rev 1880
test: drop custom run-tests.py
We should use the one provided by Mercurial core directly.
Augie Fackler <raf@durin42.com> [Mon, 14 Mar 2016 20:11:47 -0400] rev 1879
Makefile: rework running of tests
This makes running tests easier without depending on our own copy of
run-tests.py (though I'd still prefer to keep that around.)
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Mar 2016 12:36:25 +0000] rev 1878
compat: adapt to change in mercurial core
The code around merge destination have been changed in core, we do some basic
adaptation to make sure we don't crash.
Further rework to adapt//take advantage of core change would probably be useful
but this is not the point of this commit.
Augie Fackler <raf@durin42.com> [Thu, 31 Dec 2015 11:23:19 -0500] rev 1877
topic: handle merge.update function signature change
I think this is backwards compatible with how it used to be called,
but I didn't worry about it too much either.
Augie Fackler <raf@durin42.com> [Fri, 11 Dec 2015 13:12:23 -0500] rev 1876
Merge.
Augie Fackler <raf@durin42.com> [Fri, 11 Dec 2015 13:09:29 -0500] rev 1875
test-topic-dest: test fixes I should have put in the previous change
I split a bigger change from marmoute that included some rebase
support that I wanted to discuss more, but I didn't correctly commit
my fixes to the tests before pushing. Oops.
Augie Fackler <raf@durin42.com> [Fri, 11 Dec 2015 12:53:20 -0500] rev 1874
topic: fix changing topics of commits that have an amend_source
Includes a test for this specific case, but we should probably spend
more time squinting at the interactions between the current topic
wrapper function and commitctx for memctx instances.
Augie Fackler <raf@durin42.com> [Fri, 11 Dec 2015 12:53:38 -0500] rev 1873
topic: remove useless call to c.parents()
Augie Fackler <raf@durin42.com> [Fri, 11 Dec 2015 12:56:23 -0500] rev 1872
topic: fix up change logic a little and add debug logging
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 21 Oct 2015 01:09:15 +0200] rev 1871
merge: use topic to pick default destination
If the topic have multiple heads, reduce that. Otherwise, pick the
branch we are on.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 21 Oct 2015 01:12:32 +0200] rev 1870
topic: introduce a 'ngtip' concept
The concept is to be massively used in naming and default destination logic.
The name is horrible so that people find a better one.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 08 Oct 2015 21:09:47 -0700] rev 1869
template: test that topic is accessible through template
This comes free with the namespace feature but it is good to have.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 23 Oct 2015 13:40:44 +0100] rev 1868
test: adapt to newer mercurial
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 08 Oct 2015 20:43:15 -0700] rev 1867
patch: import topic from patch header
If the used Mercurial supports it, we import topic from patch headers.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 08 Oct 2015 20:42:26 -0700] rev 1866
patch: add topic to exported patch
If used Mercurial supports it, we add a topic header to patches.
Augie Fackler <raf@durin42.com> [Wed, 14 Oct 2015 12:09:11 -0400] rev 1865
topic: work around stringmatcher moving during development of hg 3.6
Augie Fackler <raf@durin42.com> [Wed, 30 Sep 2015 18:06:42 -0400] rev 1864
topic: allow use of topic(.) to match the p1 topic
As far as I can tell this matches the behavior of branch(.) in core hg
in tht it matches p1's value rather than the wdir value.
Augie Fackler <raf@durin42.com> [Wed, 30 Sep 2015 18:05:27 -0400] rev 1863
topic: fix missing error import
Matt Mackall <mpm@selenic.com> [Fri, 19 Jun 2015 16:23:29 -0500] rev 1862
amend: allow clearing topics on amend
Matt Mackall <mpm@selenic.com> [Fri, 19 Jun 2015 16:16:42 -0500] rev 1861
changectx: add topic method
Matt Mackall <mpm@selenic.com> [Fri, 19 Jun 2015 16:13:16 -0500] rev 1860
topics: consistently use empty string instead of None
This agrees with repo.currenttopic which uses ''. A subsequent patch
is going to provide a context topic method that returns the empty
string.
Matt Mackall <mpm@selenic.com> [Fri, 19 Jun 2015 14:18:34 -0500] rev 1859
topics: drop debugging print in rebase
Matt Mackall <mpm@selenic.com> [Mon, 15 Jun 2015 17:29:07 -0500] rev 1858
topics: allow commits that only change topic (issue4725)
This allows amend to change topics. It also matches the behavior of branches.
Matt Mackall <mpm@selenic.com> [Mon, 15 Jun 2015 16:56:44 -0500] rev 1857
topics: add listnames hook so completion works
Augie Fackler <augie@google.com> [Thu, 18 Jun 2015 15:46:26 -0400] rev 1856
rewrite: use a lock and transaction as spotted by devel warnings
Matt Mackall <mpm@selenic.com> [Fri, 12 Jun 2015 16:49:46 -0500] rev 1855
topics: only apply topic to commits of the working copy
Matt Mackall <mpm@selenic.com> [Fri, 12 Jun 2015 16:41:10 -0500] rev 1854
rebase: teach rebase how to copy topics
Matt Mackall <mpm@selenic.com> [Fri, 12 Jun 2015 16:39:39 -0500] rev 1853
topic: wrap the underlying update function rather than the command
This more properly manages the updates done by things like rebase.
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 17:52:07 -0500] rev 1852
commit: add a topic field to the in-editor commit text
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 17:40:50 -0500] rev 1851
topic: only require obsolete support for --change
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 17:13:15 -0500] rev 1850
commit: add a --topic flag
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 16:44:49 -0500] rev 1849
topic: note when switching topics
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 16:32:20 -0500] rev 1848
summary: add topic summary hook
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 16:23:56 -0500] rev 1847
topics: add command summary
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 16:20:05 -0500] rev 1846
docs: fix format of extension docstring
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 16:13:20 -0400] rev 1845
constants: extract key for extra into a constant
It might be prudent to prefix it, and regardless it was bugging me to
have it repeated everywhere.
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 15:03:39 -0400] rev 1844
topic: add ability to change topic of non-public changes
This is a little crude, but it gets the job done. You probably don't
want to use this without evolution for now.
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 15:26:50 -0400] rev 1843
revset: add a topic() revset for querying topics
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 15:01:36 -0400] rev 1842
topic: disallow use of topics without obsolete enabled
This is a prelude to allowing changing topics. The experience will be
disastrous without obsolete markers, so let's just preempt any
potential problems.
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 14:59:46 -0400] rev 1841
topic: use repo.set() where we need a changectx anyway
I always forget repo.set() exists and use repo.revs(). Sigh.
Augie Fackler <augie@google.com> [Wed, 10 Jun 2015 14:59:05 -0400] rev 1840
testlib: enable rebase and obsolete for easier testing
Augie Fackler <augie@google.com> [Wed, 20 May 2015 21:23:28 -0400] rev 1839
Initial dumb version of topics.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 18:21:23 +0100] rev 1838
serveronly: deduplicate code with the main evolve extension
Now that 'serveonly' is a sub module of evolve. We can access its content in
evolve. As a result we stop duplicating code all common parts are defined in the
'serveronly' module and imported by evolve when needed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 16:12:34 +0100] rev 1837
serveronly: clean up imports
remove unused one and arrange them
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:31:28 +0100] rev 1836
compat: just use '_callcompressable'
That API is available in all version we supports.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:31:18 +0100] rev 1835
compat: drop bookmark compatibility layer
All the version we now supports have the 'new' API.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:29:36 +0100] rev 1834
compat: drop compat for older wireproto implementation
We only support Mercurial version with these attributes.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:28:54 +0100] rev 1833
compat: always use the strip revset from core
We only support versions that defines it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:28:23 +0100] rev 1832
compat: drop support for ancestral pushop object
Pushoperation object have a 'cgresult' attribute in all the versions we support.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:27:54 +0100] rev 1831
compat: drop compatibility layer around update
We now support only versions with the new API.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:27:08 +0100] rev 1830
compat: drop compatibility layer for 'tryimportone'
Return is now homogeneous for all the version we support.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:25:35 +0100] rev 1829
compat: drop superfluous summary output
All versions we support issues this output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:24:04 +0100] rev 1828
compat: drop compatibility layer around memctx
The version we support all have the same API now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:22:25 +0100] rev 1827
compat: drop handling of ancestral 'helploader' caller
We only support recent only version on Mercurial now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:22:05 +0100] rev 1826
compat: drop hack around a 'graft' signature change
We only support recent only version of Mercurial now.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:21:17 +0100] rev 1825
evolve: proactively detect bad version early
The extensions have been providing such error to the user for some time. So we
keep this explicit check (instead of some later errors).
The check is update to match out new version constraint.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:21:16 +0100] rev 1824
evolve: drop support for version older than 3.8
The support for 'hgext3rd' was introduced in 3.8. Dropping support for older
version seems reasonable.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 13:27:04 +0100] rev 1823
evolve: cleanup imports
Just rearrange imports to a new/clearer style.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:27:44 +0100] rev 1822
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:19:31 +0100] rev 1821
merge with mercurial-3.5
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:17:40 +0100] rev 1820
merge with mercurial-3.6
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:15:21 +0100] rev 1819
merge with mercurial-3.7
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:11:51 +0100] rev 1818
merge with mercurial-3.8
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:08:14 +0100] rev 1817
merge with mercurial-3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:04:58 +0100] rev 1816
merge with mercurial-4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:00:17 +0100] rev 1815
merge future 5.6.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:22:21 +0100] rev 1814
Added tag 5.6.1 for changeset 70694b2621ba
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 17:21:56 +0100] rev 1813
update debian changelog
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 02 Feb 2017 16:33:17 +0100] rev 1812
evolve: extend API fix from 25254b2f8116 to another relevant case
For some reason, only part of this API change got fixes. Test did not caught
this because 'False' is a valid revision number (0) and update force did not
mind using it as an ancestors. The API changed in Mercurial 43c00ca887d1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:19:33 +0100] rev 1811
hgext3rd: drop the last remains of hgext3rd
Not that all extensions as moved, we can drop the directory.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:18:21 +0100] rev 1810
hgext3rd: move 'obsolete' as 'evolve.legacy'
We move that last extension. It seems like we could use the repo upgrade
framework for this, but this is another adventure.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:11:50 +0100] rev 1809
hgext3rd: move 'drophack' as 'evolve.hack.drophack'
Yet another extension migrating. Ideally we would implement stripping
obsolescence marker in code soon and be able to dispose of this extensions
directly. In the mean time this goes into the "hack" namespace.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 16:07:28 +0100] rev 1808
hgext3rd: move 'simple4server' as 'evolve.serveronly'
We also more the server only extension into hgext3rd. We makes it a python
sub-module of evolve for two reasons:
* less polution in the hgext3rd namespace,
* this make it possible to share the code between 'evolve' and
'evolve.serveronly' instead of duplicating it.
note that we now install the extension too
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 14:36:18 +0100] rev 1807
hgext3rd: move 'directaccess' and 'inhibit' in 'evolve.hack'
We move them in the 'hgext3rd' package. In the same move we put them under the
'evolve' package for clarity. We use a sub-package 'hack' to make their status
clearer.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 28 Feb 2017 15:09:03 +0100] rev 1806
evolve: move the extensions to 'hgext3rd'
We have the 'hgext3rd' as the official place for extension for some time now.
We start the big migration. This might break some people setup but this is a
necessary step to have evolve easily available through pip.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 01 Nov 2016 05:42:50 +0100] rev 1805
extensions: drop the old 'pushexperiment' extension
This extensions predate bundle-2 and their have not been any reason to use it
for years.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:23:11 +0100] rev 1804
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:19:58 +0100] rev 1803
Update tag 5.6.0 for changeset e7b6e9c4a5d4
There was a small error in the README. The previous tag is fresh and the
announcement was sent yet. So I'm exceptionally overwriting the tag.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:19:50 +0100] rev 1802
fix release date in the Readme,
Copy paste error :-/
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:17:09 +0100] rev 1801
reopen the default branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:03:39 +0100] rev 1800
merge with 5.6.0
no extra changes were needed from the mercurial-3.5 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:51:02 +0100] rev 1799
merge with 5.6.0
no extra changes were needed form the mercurial-3.6 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:45:20 +0100] rev 1798
merge with 5.6.0
No extra changes were needed from the mercurial-3.7 branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:40:51 +0100] rev 1797
merge with 5.6.0
Not extra change were needed from the mercurial-3.8 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:32:59 +0100] rev 1796
merge with 5.6.0
A minor one line conflict on test output were encountered.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:27:04 +0100] rev 1795
merge with 5.6.0
No extra changes needed from the 'mercurial-4.' branch.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:15:34 +0100] rev 1794
merge with future 5.6.0
There is only minor test output change, 4.0 do not have the "trouble:" wording
in there.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:09:40 +0100] rev 1793
Added tag 5.6.0 for changeset 99ede2d77545
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 16:05:21 +0100] rev 1792
exchange: fix compatibility layer
We forgot a return into some compatibility layer. This is now fixed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:09:06 +0100] rev 1791
open the mercurial-3.9 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:08:03 +0100] rev 1790
prepare release 5.6.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:07:30 +0100] rev 1789
debian: fix version format
There was a small error in the debian packaging
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:04:54 +0100] rev 1788
merge with default to prepare the next version
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 01 Feb 2017 15:02:59 +0100] rev 1787
merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 31 Jan 2017 12:32:45 -0800] rev 1786
uncommit: don't lose copy information of remaining files (issue5403)
As reported in the issue, "hg uncommit" would lose copy information of
the files that remained in the commit. The problem was simply that the
a dict of copies was iterated as "src, dst in copies.items()" where it
should have been "dst, src ...".
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Jan 2017 16:50:19 +0100] rev 1785
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 25 Jan 2017 16:40:45 +0100] rev 1784
fold: cleanly abort on empty fold set (issue5453)
We now handle the empty set case, cleanly aborting instead of crashing with a
traceback. The message used match the output of 'hg push' in similar situation.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 23 Jan 2017 16:09:16 +0100] rev 1783
README: update changelog
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Jan 2017 13:47:49 -0800] rev 1782
fold: require --from flag for folding revisions to working copy
It's very easy to think that "hg fold 4::6" will fold exactly those
revisions. In reality, it will fold those *and* any revisions between
them and the working copy. To prevent users from making that mistake,
require the use of a new --from flag for folding revisions from the
given set to the working copy. With this change, I'm sure some users
will be surprised that the command can not be run without either
--from or --exact, but at least the consequences will be smaller (the
command simply aborts and the user can try again).
Martin von Zweigbergk <martinvonz@google.com> [Tue, 13 Dec 2016 10:28:09 -0800] rev 1781
fold: use 'fold', not 'touch', for transaction description
Stanislau Hlebik <stash@fb.com> [Thu, 05 Jan 2017 01:36:37 -0800] rev 1780
tests: fix tests to reflect hg core changes
In f05ede08dcf7d13794ccc9abb53877a50bf2b58b in core hg there were changes to
changeset_printer.
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 Nov 2016 21:00:42 +0530] rev 1779
prune: improve error message if unstable changes are disallowed
I saw a question on stackoverflow why evolve reports something like cannot
fold chain not ending with head. Even I was confused the first time about the
behavior. The error message can be improved to avoid confusion to people who
are unaware about the config in future.
Martijn Pieters <mjpieters@fb.com> [Wed, 30 Nov 2016 11:17:55 +0000] rev 1778
wireproto: chunking and compression is forthwith to be handled by hgweb
Various functions disappeared in the process. Use the new streamres API but fall back to the old way if the keyword arguments are not accepted.
See https://www.mercurial-scm.org/repo/hg/rev/2add671bf55b
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 06 Nov 2016 19:19:28 +0100] rev 1777
readme: fix the test run command
As we use the run-tests.py in Mercurial, we do not need to specify the path to a
Mercurial utility.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:56:44 +0100] rev 1776
Manifest.in: exclude unshipped extensions
Many extensions life in the repository without being shipped we exclude them
from the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:54:05 +0100] rev 1775
Manifest.in: include Manifest.in
Apparently this file should be in the tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:49 +0100] rev 1774
Manifest.in: exclude debian related file
The debian rules life in the repository for convenience, however they should not
be included in the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:28 +0100] rev 1773
Manifest.in: include all script in tests
We now have a small fake editor scrip that should be in the dist tarball.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:53:07 +0100] rev 1772
Manifest.in: drop tests/test-qsync.t entry
This file is now longer in the repository.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:52:46 +0100] rev 1771
Manifest.in: drop the 'tests/dummyssh' entry
That file is now longer in the repository for some time.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:50:54 +0100] rev 1770
Manifest.in: sort entry
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 02 Nov 2016 18:49:19 +0100] rev 1769
makefile: fix documentation
The only available rules is 'deb-prepare' we fix the documentation.
Simon Farnsworth <simonfar@fb.com> [Tue, 25 Oct 2016 05:15:52 -0700] rev 1768
tests: use curl instead of wget
curl is supplied by default on macOS 10.12, but wget isn't. As curl is easy
to install on other OSes, just switch the tests over.
For Windows systems, you can obtain cURL from
https://curl.haxx.se/download.html - for other systems, please use your
native package manager.
This undoes 4e7da688a066 and 3ffa12edc05a, as they don't make things much
simpler on Windows (you have to install extra packages either way round),
but they do make things harder on macOS (as curl is supplied by default,
whereas wget isn't).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:31:31 +0100] rev 1767
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:28:34 +0100] rev 1766
Added tag 5.5.0 for changeset 727c7211c810
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:18:33 +0100] rev 1765
prepare release 5.5.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 30 Oct 2016 23:16:04 +0100] rev 1764
readme: mention that the next release make use 4.0 compatible
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:07:27 +0200] rev 1763
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:04:23 +0200] rev 1762
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 15:01:41 +0200] rev 1761
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:55:57 +0200] rev 1760
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:49:37 +0200] rev 1759
merge with latest fix
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 29 Oct 2016 14:40:47 +0200] rev 1758
merge with latest fix
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:25:06 -0700] rev 1757
errors: add missing imports of mercurial.error
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:15:57 -0700] rev 1756
evolve: use single quotes in usage messages
Mercurial core has moved in this direction, so let's follow.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 17:11:43 -0700] rev 1755
evolve: prefer "abort" over "abandon" in messages for consistency
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 15:17:27 -0700] rev 1754
setupevolveunfinished: use "hg update -C ." to abort
I don't know what this function does, but it seems like it should
recommend the same way of aborting as other places do.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 28 Oct 2016 15:04:40 -0700] rev 1753
evolve: suggest "hg update -C .", including '.', to abort evolve
The user will probably not also want to change commit when they abort
evolve, like "hg update -C" (without the '.') would do. Note that we
already do recommend aborting by using "hg update -C ." in another
place.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 17:03:53 +0200] rev 1752
evolve: update the tested with statement
Test pass fine with 4.0-rc. By some magic, we are still compatible down to
Mercurial 3.4.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 17:02:56 +0200] rev 1751
merge with future 5.5
All was fine for 3.4.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:59:32 +0200] rev 1750
merge future 5.5
There is a small limitation of split that does not clean up its working
directory on failure otherwise all is fine.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:34:57 +0200] rev 1749
merge with future 5.5
No extra change needed to get the test to passe with 3.6
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:26:25 +0200] rev 1748
merge with future 5.5
No extra new change are needed from the one needed from the 3.8 branch and previous
version.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:16:19 +0200] rev 1747
merge with future 5.5
Test also run on 3.8 with minor cosmetic change. The 'separate' function is not
available before 3.9 so we had to drop it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 16:03:00 +0200] rev 1746
integrate code update and test change from future 5.5 code
This prove that the code is compatible with 3.9
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 15:44:15 +0200] rev 1745
merge with default, Mercurial 4.0-rc is out
The content of the Mercurial stable branch changed, we update it here too.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 28 Oct 2016 15:43:21 +0200] rev 1744
open the mercurial-3.9 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 16 Oct 2016 20:29:27 +0200] rev 1743
merge with stable
Simon Farnsworth <simonfar@fb.com> [Sun, 16 Oct 2016 09:52:53 -0700] rev 1742
evolve: lock the working copy early in next and prev (issue5244)
Both next and prev depend on a consistent working copy, but were waiting to
take the lock until they were ready to alter the working copy.
Take the lock before reading the working copy state, and do not release it
until we're definitely not going to change the working copy.
Simon Farnsworth <simonfar@fb.com> [Sat, 08 Oct 2016 08:14:21 -0700] rev 1741
evolve: indent cmdnext and cmdprev ready for locking change (issue5244)
The locking change I'm about to introduce forces an indentation shift. Do
the indentation change with no code change now, to make the next change
easier to review
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 16 Oct 2016 13:50:45 +0200] rev 1740
tests: adapt to some change to topic output
Philippe Pepiot <philippe.pepiot@logilab.fr> [Sat, 08 Oct 2016 15:49:12 +0200] rev 1739
split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr> [Sat, 08 Oct 2016 15:49:12 +0200] rev 1738
split: avoid trying to split an empty commit (issue5191)
Kostia Balytskyi <ikostia@fb.com> [Thu, 22 Sep 2016 09:15:30 -0700] rev 1737
evolve: fix test breaks related to double->single quote changes
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 13 Sep 2016 01:25:17 +0200] rev 1736
merge with stable
Durham Goode <durham@fb.com> [Mon, 12 Sep 2016 10:41:00 -0700] rev 1735
bump: copy parent manifest before editting it
Previously, the bump code would access the previous manifest, then edit that
dictionary data structure. Because the manifest was in the mancache at that
time, those edits were persisted to other readers who asked for that manifest.
This caused commits being made during bump to have the wrong file parents in
many situations (hence why the tests need updating).
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 13 Sep 2016 00:56:57 +0200] rev 1734
backed out changeset 7a76f9a43e89
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 10 Sep 2016 13:26:19 +0200] rev 1733
readme: add an entry about the {obsolete} template change
(It should have been included into the parent changeset.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 09 Sep 2016 16:42:41 -0700] rev 1732
templates: change {obsolete} to emit only "obsolete" or ""
The {obsolete} template function can currently emit "stable",
"unstable", "extinct", or "suspended".
The distinction between "extinct" and "suspended" seems likely to be
more confusing that enlightening, and "stable" and "unstable" are not
even obsolete.
Let's simplify it to just emit "obsolete" for obsolete changesets and
"" for others. That will also make it much easier to test for obsolete
changsets and do things like "if(obsolete, obsolete, troubles)".
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 07 Sep 2016 17:51:15 +0200] rev 1731
debug data for manifest change in core
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Sep 2016 07:40:27 +0530] rev 1730
evolve: drop point release of versions
Modern Mercurial only looks at X.Y versions, so point releases can be dropped.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 01 Sep 2016 04:38:56 +0530] rev 1729
evolve: removed redundant try/finally blocks
There were two todo's to remove the redundant try finally blocks.
Done that and also fixed the indentation afterwards.
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:37:15 +0800] rev 1728
docs: spelling fixes
Squashed into 1 commit because I'm lazy:
- non-existant -> nonexistent
- accros -> across
- comptatibility -> compatibility
- requieres -> requires
- aliast -> alias
- unexistent -> nonexistent
- convertion -> conversion
- nto -> not
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:25:17 +0800] rev 1727
simple4server: update buglink to point to bz.mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:24:58 +0800] rev 1726
evolve: update buglink to point to bz.mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:24:13 +0800] rev 1725
docs: use https for mercurial-scm.org
Anton Shestakov <av6@dwimlabs.net> [Sat, 27 Aug 2016 20:17:41 +0800] rev 1724
docs: point wiki and bz links to mercurial-scm.org
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 29 Aug 2016 14:54:20 +0200] rev 1723
test: adapt to topic changes
We display more information about the stacks, so we have to take than in account
in the tests.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 11 Aug 2016 23:00:46 +0200] rev 1722
continue: ensure we hold the wlock before writing file to disk
A hack in 'hg evolve --continue' involve writing a 'graftstate' file. We take
the wlock before doing so.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 09 Aug 2016 00:37:58 +0200] rev 1721
test: also use 'devel.legacy.exchange=bundle1' in test
Changeset 39537bc64442 in mercurial removed the 'experimental.bundle2' option.
We use the new option in parallel.
Ryan McElroy <rmcelroy@fb.com> [Mon, 08 Aug 2016 10:05:47 -0700] rev 1720
dirstate: use arg count for version check
In 52ff07e1de91 in the main hg repo, dirstate was changed to require a second
argument, making the default args check no longer work. Instead, we switch
to check the number of arguments, which should be backwards and forwards
compatible.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:55:11 +0200] rev 1719
merge back with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:42:38 +0200] rev 1718
Added tag 5.4.1 for changeset 2ad40d972a74
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:40:04 +0200] rev 1717
prepare release 5.4.1
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:37:48 +0200] rev 1716
3.9 have been released
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 Aug 2016 22:37:03 +0200] rev 1715
open mercurial-3.7 compat branch
Jun Wu <quark@fb.com> [Wed, 22 Jun 2016 18:22:17 +0100] rev 1714
directaccess: make sure gethashsymbols does not return rev numbers
With "hg log -r 1 -r 2 -r 3", gethashsymbols will get the following tree:
('func', ('symbol', '_list'), ('string', '1\x002\x003'))
Before this patch, it will return ['1', '2', '3'], which are revision
numbers and causes unnecessary (expensive) partialmatch lookups.
This patch refacts gethashsymbols a bit, making sure the returning values
are always filtered.
Jeroen Vaelen <jeroen@fb.com> [Wed, 15 Jun 2016 15:19:38 -0700] rev 1713
evolve: use hashlib to compute sha1 hashes
The util alias for sha1 was dropped in c27dc3c3122 in favor of hashlib.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 27 May 2016 17:36:07 +0200] rev 1712
merge with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 27 May 2016 17:33:53 +0200] rev 1711
inhibit: protect agains dropped 'bmstore.write'
As planned per the deprecation policy, 'bmstore.write' have been dropped in
Mercurial core (052c9318e464).
timeless@gmail.com [Wed, 25 May 2016 19:41:08 +0000] rev 1710
help: fix evolution help grammar
timeless@gmail.com [Wed, 25 May 2016 19:13:26 +0000] rev 1709
help: fix evolution hg phases reference
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:24:17 +0200] rev 1708
merge latest tag in 3.4 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:24:00 +0200] rev 1707
merge latest tag in 3.5 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:23:43 +0200] rev 1706
merge latest tag in 3.6-branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:23:25 +0200] rev 1705
merge latest tag in 3.7-branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:22:54 +0200] rev 1704
merge back with stable
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:22:24 +0200] rev 1703
Added tag 5.4.0 for changeset b21ce82e6f76
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:18:24 +0200] rev 1702
evolve: prepare release of version 5.4.0
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:16:18 +0200] rev 1701
evolve: update testedwith field
3.8.1 is working fine and no older branch had to be dropped.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:08:31 +0200] rev 1700
merge with stable through 3.5 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:03:28 +0200] rev 1699
test: wider glob for payload size
For some reason this various a bit more than previously though.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 06 May 2016 00:00:14 +0200] rev 1698
merge with stable throug 3.6 branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 23:51:35 +0200] rev 1697
merge with stable through 3.7 branch
dropped the topic test and updated output with some minor difference
Hg: Enter commit message. Lines beginning with 'HG:' are removed.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 22:22:30 +0200] rev 1696
mercurial-3.7: revert output change
No feature regression but various output change
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 22:13:02 +0200] rev 1695
merge default into stable
Mercurial 3.8 have been release, let's get ready for a 5.4.0 release.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:54:26 +0200] rev 1694
test: rename TOPICROOT to HGTEST_TOPICROOT
Mercurial is about to introduce whitelisting of environment variable, we comply
to the planned prefix in advance in a hope to stay compatible in the future.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:42:49 +0200] rev 1693
test: update topic test output for order change
As in topic d8f1e432b16a the tipmost changeset is now displayed first. We adapt
the test output to reflect it.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:38:04 +0200] rev 1692
test: update topic test output for indexing change
Changeset 61f36480740f in topic updated the indexing scheme, we update the test
to take this into account.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 21:35:53 +0200] rev 1691
test: adapt topic test
The 'created new head' bug was fixed in bdc5bb223b50, we adapt the test with
the fixed output.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 05 May 2016 20:14:39 +0200] rev 1690
test: improve skipped message for topic
The skipped message should point people to a way to solve the situation.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:40:21 +0200] rev 1689
prune: suggest --biject in error "hint"
When use specify multiple changesets to prune and as successors, we should point
them to the right options to confirm there intend.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:24:36 +0200] rev 1688
metaedit: check for public changeset before instability
Public changeset will stay public even if the selection is adjusted, this is a
more definitive condition that is worth warning about first.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 02 May 2016 18:21:54 +0200] rev 1687
fold: move sanity check after locking
Checking for operation validaty without the locks open us to race condition.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1686
metaedit: add support for folding commits while editing their metadata
This also allows us to accept multiple commits without dealing with the thorny
algorithmic and UI issues of editing multiple commits at once.
Crucially, it is different from 'hg fold --exact' in that it also allows
'folding' a single commit and rewriting its metadata. This is really useful to
have as a single logical operation, for example while preparing a series of
multiple local changesets that will need to be pushed as a single changeset.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1685
commands: introduce a new command to edit commit metadata
This patch introduces metaedit, a command to metadata of a set of revisions
without updating the working copy. This is particularly relevant for
repositories where changing the parent of the working copy is time-consuming.
We could add more stack manipulation operations to metaedit in the future.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1684
evolve: factor out check for creating unstable commits
This check is pretty non-trivial, and we do it in two places already. We're
going to do it in a third place soon.
Siddharth Agarwal <sid0@fb.com> [Mon, 25 Apr 2016 16:24:42 -0700] rev 1683
evolve: factor out sanity checks for folds
We're going to use the same checks in another context in an upcoming patch.
timeless@gmail.com [Thu, 21 Apr 2016 06:12:20 +0000] rev 1682
evolve: include node, rev, desc, and phase in list
timeless@gmail.com [Thu, 21 Apr 2016 06:11:57 +0000] rev 1681
evolve: use hex in list output
timeless@gmail.com [Wed, 20 Apr 2016 19:00:13 +0000] rev 1680
py3: use items() instead of iteritems()
timeless@gmail.com [Wed, 20 Apr 2016 18:59:46 +0000] rev 1679
py3: change except from two comma to as notation
timeless@gmail.com [Wed, 20 Apr 2016 18:58:52 +0000] rev 1678
py3: tolerate io/StringIO divergence
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Sun, 24 Apr 2016 22:31:58 -0400] rev 1677
split: rewrite the pre-split commit message
I find this wording slightly clearer.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 17:11:49 -0700] rev 1676
open mercurial-3.7 compat branch
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 17:08:59 -0700] rev 1675
readme: add various missing parts
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Wed, 20 Apr 2016 16:40:11 -0700] rev 1674
hgignore: add an ignore rule for test timing
Modern tests runner store a record of last test run timing. We properly ignore
it.