- Feb 04, 2018
-
-
Matt Harbison authored
The revert command oddly prints out what it will do before requesting the files to be prefetched. But the 'need to transfer' line indicates the blobs are being grouped.
-
Matt Harbison authored
This will be used by LFS to fetch required files in a group for multiple commands, prior to being accessed. That avoids the one-at-a-time fetch when the filelog wrapper goes to access it, and it is missing locally (which costs two round trips to the server.) The core command list that needs this is probably at least: - annotate - archive (which is also used by extdiff) - cat - diff - export - grep - verify (sadly) - anything that has the '{data}' template There are no core users of the revert prefetch hook, and never have been since it was introduced in 45e02cfad4bd for remotefilelog. Thanks to Yuya for figuring out a way to reliably trigger the deprecated warning. Unfortunately, it wanted to blame the caller of revert. Passing along an adjusted stack level seemed the least bad choice (although it still blames a core function). One thing to note is that the store lock isn't being held when this is called. I'm not at all familiar with remotefilelog or its locking requirements, so this may not be a big deal. Currently, LFS doesn't hold a lock when downloading files. Even though largefiles doesn't either, I'm starting to think it should, and maybe the .hg/store/lock isn't good enough to cover the globally shared cache. .. api:: The cmdutil._revertprefetch() hook point for prefetching stored files has been replaced by the command agnostic cmdutil._prefetchfiles(). The new function takes a list of files, instead of a list of lists of files.
-
Matt Harbison authored
In addition to merge, this method ultimately gets called by many commands: - backout - bisect - clone - fetch - graft - import (without --bypass) - pull -u - rebase - strip - share - transplant - unbundle - update Additionally, it's also called by histedit, shelve, unshelve, and split, but it seems that the related blobs should always be available locally for these. For `hg update`, it happens after the normal argument checking and pre-update hook processing, and remote corruption is detected prior to manipulating the working directory. Other commands could use this treatment (archive, cat, revert, etc), but this covers so many of the frequently used bulk commands, it seems like a good starting point. Losing the verbose message that prints the file name before a corrupt blob aborts the command is a little sad, because there's no easy way to go from oid to file name. I'd like to change that message to list the file name so it looks cleaner and less cryptic, but the pointer object is nowhere near where it needs to be to do this. So punt on that for now.
-
- Jan 27, 2018
-
-
Matt Harbison authored
This will be useful for filesets, among other things, instead of traversing the whole context.
-
- Feb 05, 2018
-
-
Pulkit Goyal authored
# skip-blame because we are just adding b'' Differential Revision: https://phab.mercurial-scm.org/D2046
-
- Dec 29, 2017
-
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D2045
-
- Feb 05, 2018
-
-
Pulkit Goyal authored
file() is not present in Python 3 Differential Revision: https://phab.mercurial-scm.org/D2044
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D2043
-
Pulkit Goyal authored
Before this patch, __str__() function for mq.patchheader class return bytes which is not str on Python 3. So let's move that logic to __bytes__() and for __str__() convert the return value of __bytes__() to str. Differential Revision: https://phab.mercurial-scm.org/D2042
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D2041
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D2040
-
Pulkit Goyal authored
Differential Revision: https://phab.mercurial-scm.org/D2039
-
- Feb 04, 2018
-
-
Pulkit Goyal authored
# skip-blame as we are just adding r'' Differential Revision: https://phab.mercurial-scm.org/D2038
-
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
-