- Feb 04, 2018
-
-
Pulkit Goyal authored
The tweakdefaults config string is enclosed inside triple quotes and the transformer does not adds b'' there. # skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2037
-
Boris Feld authored
c8e2d6ed1f9e moved some objects used by Evolve and hence broke the latest Evolve revision. Next Evolve version will use the new objects when available but introduce deprecated aliases so users using older version of Evolve won't have a broken Evolve extension. Differential Revision: https://phab.mercurial-scm.org/D2023
-
- Feb 05, 2018
-
-
Anton Shestakov authored
Yakkety (16.10) was supported until 2017-07-20 and Zesty (17.04) was supported until 2018-01-13.
-
- Jan 20, 2018
-
-
Kyle Lippincott authored
Tools that did not use labels already, used only one, or used some label other than the exact strings of "local" or "other" were unmodified. Cases that used the label "base" were modified as well, if they were otherwise changed in this CL; "merged" was *not* changed. There are other possible changes we might want to make, but I didn't: - bcompare (linux and osx) uses the labels "parent1" and "parent2" instead of "local" and "other", so it was left alone, even though beyondcompare3 (windows) *was* changed. - araxis used the labels "Other", "Base", and "Local :$local", so it was also left alone. - UltraCompare didn't provide a label for 'local', just for 'base' and 'other', so it was left alone. Differential Revision: https://phab.mercurial-scm.org/D2012
-
- Jan 18, 2018
-
-
Kyle Lippincott authored
This adds $labellocal, $labelother, and $labelbase to the replacement set for merge-tools.<tool>.args config variables, and to the environment as HG_MY_LABEL, HG_OTHER_LABEL, and HG_BASE_LABEL, respectively. We also add merge-tools.<tool>.mergemarkers and merge-tools.<tool>.mergemarkertemplate config variables as counterparts of the variables available in [ui]. We are intentionally *not* respecting ui.mergemarkers when calling out to external merge programs; too often the default template will be too wide to display comfortably in most GUIs. Differential Revision: https://phab.mercurial-scm.org/D2011
-
- Feb 03, 2018
-
-
Matt Harbison authored
The ProgrammingError prevents accidental usage of the dict base class methods. .. api:: The following deprecated methods have been removed from bookmarks: __setitem__(), __delitem__(), update(), and recordchange(). Use bookmarks.applychanges() instead.
-
Yuya Nishihara authored
This fixes test-directaccess.t on Python 3.
-
- Jan 27, 2018
-
-
Yuya Nishihara authored
cmdutil._maybebytestr() is moved to pycompat.
-
Yuya Nishihara authored
Perhaps this is what we wanted for py2-3 compatibility.
-
Yuya Nishihara authored
Now "hg debugrevspec" works on Python 3.
-
Yuya Nishihara authored
This isn't pretty, but we have no way to teach Python 3 that our __repr__() would like to return a byte string.
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
- Feb 03, 2018
-
-
Matt Harbison authored
.. api:: The deprecated localrepo.walk() has been removed, and replaced by repo[node].walk().
-
Matt Harbison authored
.. api:: beginparentchange() and endparentchange() have been replaced by the parentchange context manager.
-
Matt Harbison authored
-
Matt Harbison authored
.. api:: The following deprecated methods have been removed from obsutil: marker.precnode() and allprecursors(). Use marker.prednode() and allpredecessors() instead.
-
Matt Harbison authored
-
Matt Harbison authored
.. api:: The following deprecated methods have been removed from obsolete, with replacements: - _addprecursors() -> _addpredecessors() - obsstore.precursors -> obsstore.predecessors - allprecursors() -> obsutil.allprecursors() - allsuccessors() -> obsutil.allsuccessors() - marker() -> obsutil.marker - getmarkers() -> obsutil.getmarkers() - exclusivemarkers() -> obsutil.exclusivemarkers() - foreground() -> obsutil.foreground() - successorssets() -> obsutil.successorsset() - unstable() -> orphan() - bumped() -> phasedivergent() - divergent() -> contentdivergent()
-
Matt Harbison authored
.. api:: The following deprecated methods have been removed from context, with replacements: - unstable() -> orphan() - bumped() -> phasedivergent() - divergent() -> contentdivergent() - troubled() -> isunstable() - troubles() -> instabilities()
-
- Jan 25, 2018
-
-
Jörg Sonnenberger authored
It is more efficient to pass down one large string to the output streams than many small ones. For a ``hg diff`` test case, it improves time from 2m26s to 2m8s. Differential Revision: https://phab.mercurial-scm.org/D1939
-
- Jan 21, 2018
-
-
Yuya Nishihara authored
.. api:: Log-related utility functions has been renamed as follows: - cmdutil.loglimit -> logcmdutil.getlimit - cmdutil.diffordiffstat -> logcmdutil.diffordiffstat - cmdutil._changesetlabels -> logcmdutil.changesetlabels - cmdutil.changeset_printer -> logcmdutil.changesetprinter - cmdutil.jsonchangeset = logcmdutil.jsonchangeset - cmdutil.changeset_templater -> logcmdutil.changesettemplater - cmdutil.logtemplatespec -> logcmdutil.templatespec - cmdutil.makelogtemplater -> logcmdutil.maketemplater - cmdutil.show_changeset -> logcmdutil.changesetdisplayer - cmdutil.getlogrevs -> logcmdutil.getrevs - cmdutil.getloglinerangerevs -> logcmdutil.getlinerangerevs - cmdutil.displaygraph -> logcmdutil.displaygraph - cmdutil.graphlog -> logcmdutil.graphlog - cmdutil.checkunsupportedgraphflags -> logcmdutil.checkunsupportedgraphflags - cmdutil.graphrevs -> logcmdutil.graphrevs - cmdutil._makenofollowlogfilematcher -> logcmdutil._makenofollowfilematcher
-
Yuya Nishihara authored
A few exceptions: - s/loglimit/getlimit/ to avoid name conflict - s/_logrevs/_initialrevs/ to clarify its functionality
-
Yuya Nishihara authored
show_changeset is renamed to changesetdisplayer as its return value is called a displayer.
-
Yuya Nishihara authored
cmdutil.py is painfully big and makes Emacs slow. Let's split log-related functions. % wc -l mercurial/cmdutil.py 4027 mercurial/cmdutil.py % wc -l mercurial/cmdutil.py mercurial/logcmdutil.py 3141 mercurial/cmdutil.py 933 mercurial/logcmdutil.py 4074 total
-
- Feb 02, 2018
-
-
Gregory Szorc authored
Previously, HTTP wire protocol clients would attempt a "capabilities" wire protocol command. If that failed, they would fall back to issuing a "between" command. The "capabilities" command was added in Mercurial 0.9.1 (released July 2006). The "between" command has been present for as long as the wire protocol has existed. So if the "between" command failed, it was safe to assume that the remote could not speak any version of the Mercurial wire protocol. The "between" fallback was added in 395a84f78736 in 2011. Before that changeset, Mercurial would *always* issue the "between" command and would issue "capabilities" if capabilities were requested. At that time, many connections would issue "capabilities" eventually, so it was decided to issue "capabilities" by default and fall back to "between" if that failed. This saved a round trip when connecting to modern servers while still preserving compatibility with legacy servers. Fast forward ~7 years. Mercurial servers supporting "capabilities" have been around for over a decade. If modern clients are connecting to <0.9.1 servers, they are getting a bad experience. They may even be getting bad data (an old server is vulnerable to numerous security issues and could have been p0wned, leading to a Mercurial repository serving backdoors or other badness). In addition, the fallback can harm experience for modern servers. If a client experiences an intermittent HTTP request failure (due to bad network, etc) and falls back to a "between" that works, it would assume an empty capability set and would attempt to communicate with the repository using a very ancient wire protocol. Auditing HTTP logs for hg.mozilla.org, I did find a handful of requests for the null range of the "between" command. However, requests can be days apart. And when I do see requests, they come in batches. Those batches seem to correlate to spikes of HTTP 500 or other server/network events. So I think these requests are fallbacks from failed "capabilities" requests and not from old clients. If you need even more evidence to discontinue support, apparently we have no test coverage for communicating with servers not supporting "capabilities." I know this because all tests pass with the "between" fallback removed. Finally, server-side support for <0.9.1 pushing (the "addchangegroup" wire protocol command along with locking-related commands) was dropped from the HTTP client in fda0867cfe03 in 2017 and the SSH client in 9f6e0e7ef828 in 2015. I think this all adds up to enough justification for removing client support for communicating with servers not supporting "capabilities." So this commit removes that fallback. Differential Revision: https://phab.mercurial-scm.org/D2001
-
Gregory Szorc authored
Both were introduced in 0.9.1. "hello" made its entrance in b17eebc911ae, 144280f1578f, and a1cfe679192c to support SSH. "capabilities" was added in c660691fb45d to support HTTP. Differential Revision: https://phab.mercurial-scm.org/D2000
-
- Jan 27, 2018
-
-
Yuya Nishihara authored
A parsed tree is replaced with parse(expr) because it sucks to add b'' to every string literal.
-
- Jan 30, 2018
-
-
Matt Harbison authored
Previously, there was a progress bar indicating the byte count, but then it disappeared once the transfer was done. Having that value stay on the screen seems useful. Downloads are done one at a time, so hold off on that until they can be coalesced, to avoid a series of lines being printed. (I don't have any great ideas on how to do that. It would be a shame to have to wrap a bunch of read commands to be able to do this.) I'm not sure if the 'lfs:' prefix is the right thing to do here. The others in the test are verbose/debug messages, so in the normal case, this is the only line that's prefixed.
-
- Jan 31, 2018
-
-
Matt Harbison authored
-
- Feb 01, 2018
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D1993
-
Augie Fackler authored
This is a redo of D1963 that has the added benefit of not breaking Python 2. Oops. # skip-blame because this is bytes prefixes and a s/iteritems/items/ Differential Revision: https://phab.mercurial-scm.org/D1970
-
- Jan 18, 2018
-
-
Augie Fackler authored
Differential Revision: https://phab.mercurial-scm.org/D1911
-
- Feb 01, 2018
-
-
Augie Fackler authored
This is portable to Python 3. Differential Revision: https://phab.mercurial-scm.org/D1992
-
- Jan 18, 2018
-
-
Augie Fackler authored
Differential Revision: https://phab.mercurial-scm.org/D1910
-
Augie Fackler authored
This fixes the output formatting problems I see in debugobsolete. I still am seeing some effectflag differences, which we'll need to tackle separately. I'm not in love with this approach. There might be something better we could do, and I'd love it if someone else wanted to take a run at this. Differential Revision: https://phab.mercurial-scm.org/D1909
-
- Jan 31, 2018
-
-
Gregory Szorc authored
This is a required part of the interface. Abstract properties must be defined at type creation time. So we make name a @property. Differential Revision: https://phab.mercurial-scm.org/D1991
-
Gregory Szorc authored
Plug in the abc module so we can have run-time validation of type conformance. Differential Revision: https://phab.mercurial-scm.org/D1990
-