Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:34:15 +0200] rev 33758
obsolete: rename _addprecursors into _addpredecessors
Use util.nouideprecwarn because _addpredecessors doesn't have easy access to
an ui object.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D244
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:20:59 +0200] rev 33757
obsmarker: rename precnode into prednode
Rename prednode (predecessors node) into precnode (precursors node) in markers
class. Use util.nouideprecwarn because markers doesn't have easy access to an
ui object.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D243
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:13:56 +0200] rev 33756
context: rename troubled into isunstable
As we changed the meaning of unstable between the old vocabulary and the new
one, we can't reuse the unstable method name at the risk of breaking
extensions calling unstable and getting a wrong result.
Instead rename troubled into isunstable so extensions will continue to work.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D242
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:09:00 +0200] rev 33755
context: rename bumped into phasedivergent
Rename bumped context method into phasedivergent and add a deprecation warning
on bumped.
Only update all callers to keep the patch straightforward.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D241
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:02:48 +0200] rev 33754
context: rename divergent into contentdivergent
Rename divergent context method into contentdivergent and add a deprecation
warning on divergent.
Only update all callers to keep the patch straightforward.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D240
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 18:50:32 +0200] rev 33753
context: rename unstable into orphan
Rename unstable context method into orphan and add a deprecation
warning on unstable.
Only update all callers to keep the patch straightforward.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D239
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 18:34:39 +0200] rev 33752
context: rename troubles into instabilities
Rename troubles context method into instabilities.
Copy the old troubles method and add a deprecation warning. This way
extensions calling troubles will see the deprecation warning but will not
break due to new return values.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D238
Durham Goode <durham@fb.com> [Tue, 08 Aug 2017 17:25:38 -0700] rev 33751
repair: move manifest strip to a separate function
This moves manifest stripping to a separate function so implementations of the
manifest that don't support stripping can replace this function with a no-op.
I considered adding a strip api to the manifestlog, so other implementations
could make it a no-op there, but it seems like strip might be unique to the
revlog implementation, and therefore shouldn't be present on the generic api.
Differential Revision: https://phab.mercurial-scm.org/D292
Durham Goode <durham@fb.com> [Tue, 08 Aug 2017 17:25:38 -0700] rev 33750
repair: refactor broken linkrev collection
This refactors broken linkrev collection such that manifest collection is in a
separate function. This allows extensions to replace the manifest collection
with a non-revlog oriented version.
I considered moving the collect changes function onto the manifestlog itself, so
it would be behind the abstraction, but since the store we're building doesn't
even have the concept of strip, embeding that concept in the manifestlog api
seemed odd.
Differential Revision: https://phab.mercurial-scm.org/D291
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 22:53:44 -0400] rev 33749
tests: update duplicateoptions test to use bytestrings everywhere
Test now passes on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D297
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 22:48:46 -0400] rev 33748
extensions: attempt to use non-deprecated inspect method
Avoids some deprecation warnings when extension loading breaks.
Differential Revision: https://phab.mercurial-scm.org/D295
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 14:22:25 -0400] rev 33747
tests: clean up many print statements to be print functions instead
Differential Revision: https://phab.mercurial-scm.org/D294
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:32:32 -0400] rev 33746
tests: fix simple heredoc print statements to work on Py3
There are a handful left that require some more care.
Differential Revision: https://phab.mercurial-scm.org/D293
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 10:37:39 -0400] rev 33745
obsolete: use bytes() instead of str() so the node is bytes on py3
I'm not sure this is right, since this should either be bytes or str
to match what's going on in the revlog layer.
Differential Revision: https://phab.mercurial-scm.org/D271
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 23:56:17 -0400] rev 33744
tests: fix test-notify.t to use $PYTHON
In doing so, I consolidated the filtering logic. This resulted in some
small test output changes, but I think the consistency throughout the
test is worth it.
Differential Revision: https://phab.mercurial-scm.org/D279
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 00:00:14 -0400] rev 33743
tests: make test-highlight code portable to python3
This is easier than trying to do some sort of check-code shenanigans.
Differential Revision: https://phab.mercurial-scm.org/D278
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:32:02 -0400] rev 33742
dagparser: make print statement in doctest Py3 portable
Differential Revision: https://phab.mercurial-scm.org/D277
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:31:33 -0400] rev 33741
i18n: fix check-translation.py to be less broken on Python 3
These are all simple one-argument print statements, so this syntax
works the same way in 2 and 3.
Differential Revision: https://phab.mercurial-scm.org/D276
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 13:48:32 -0400] rev 33740
ui: refactor extractchoices so it doesn't break on Python 3
Differential Revision: https://phab.mercurial-scm.org/D275
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:29:51 -0400] rev 33739
obsutil: defend against succsmarkers() returning None
I'm not sure if this is a realistic problem, but doing this avoids
some pretty awful test failures on Python 3, and it looks like it
should be harmless.
Differential Revision: https://phab.mercurial-scm.org/D274
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:28:59 -0400] rev 33738
changegroup: more **kwargs
Differential Revision: https://phab.mercurial-scm.org/D273
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:16:32 -0400] rev 33737
bundle2: convert ints to strings using pycompat.bytestring()
Fixes some Python 3 regressions.
We don't use %d here because the part id is actually an
Optional[int]. It should always be initialized to a non-None value by
the time this code executes, but we shouldn't blindly depend on that
being the case.
Differential Revision: https://phab.mercurial-scm.org/D272
Augie Fackler <augie@google.com> [Tue, 08 Aug 2017 15:07:05 -0400] rev 33736
tests: fix up test-run-tests failures on Python 3.6
Some of the recent work on run-tests.py didn't work on Python 3. This
fixes the regressions.
Differential Revision: https://phab.mercurial-scm.org/D270
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 11:32:25 +0200] rev 33735
template: rename troubles templatekw into instabilities
Rename troubles template keyword into instabilities and add a deprecation
warning on templatekw.
Update default mapfile and test files to use the new template keyword.
The renaming is done according to
https://www.mercurial-scm.org/wiki/CEDVocabulary.
Differential Revision: https://phab.mercurial-scm.org/D237
Jun Wu <quark@fb.com> [Sun, 06 Aug 2017 11:40:53 -0700] rev 33734
test-rebase: add a brute force test
Rebase is becoming more complex and it looks like a good idea to try some
brute force enumeration to cover cases that are hard to find manually.
Using brute force to generate repos in different shapes and enumerating the
rebase source and destination would generate too many cases that takes too
long to compute. This patch limits the "brute force" to only the "rebase
source" part. Repo and destination are still manual.
The added test cases are crafted manually to reveal some behaviors that are
not covered by other tests:
- "revlog index out of range" crash
- after rebase, p1 == p2, p2 != null
- "nothing to merge" abort
In the future we might want to add more tests here. For now I'm more
interested in revealing interesting behaviors in a minified way. I tried
some more complex cases but didn't find other interesting behaviors.
Differential Revision: https://phab.mercurial-scm.org/D262
Alex Gaynor <agaynor@mozilla.com> [Tue, 08 Aug 2017 18:53:13 +0000] rev 33733
dirstate: simplify dirstate's __iter__
Probably also a performance win, but not measurable in perfdirstate.
Differential Revision: https://phab.mercurial-scm.org/D269
Martin von Zweigbergk <martinvonz@google.com> [Wed, 19 Jul 2017 13:34:06 -0700] rev 33732
repo: skip invalidation of changelog if it has 'delayed' changes (API)
The changelog object can store recently added revisions in memory
until the transaction is committed. We don't want to lose those
changes even if repo.invalidate(clearfilecache=True), so let's skip
the changelog when it has such 'delayed' changes.
Differential Revision: https://phab.mercurial-scm.org/D152
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 06 Aug 2017 17:47:41 -0700] rev 33731
httppeer: make several instance attributes internal (API)
Peer instances are supposed to conform to a well-defined API so
consumers can be agnostic about the underlying peer type.
To reinforce this, this commit renames a handful of instance
attributes on httpeer so they no longer have a "public" name.
Differential Revision: https://phab.mercurial-scm.org/D268