Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:36:00 +0200] rev 34186
configitems: register the 'convert.localtimezone' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:55 +0200] rev 34185
configitems: register the 'convert.ignoreancestorcheck' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:48 +0200] rev 34184
configitems: register the 'convert.hg.usebranchnames' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:38 +0200] rev 34183
configitems: register the 'convert.hg.tagsbranch' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:29 +0200] rev 34182
configitems: register the 'convert.hg.startrev' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:22 +0200] rev 34181
configitems: register the 'convert.hg.sourcename' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:35:12 +0200] rev 34180
configitems: register the 'convert.hg.saverev' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:58 +0200] rev 34179
configitems: register the 'convert.hg.revs' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:49 +0200] rev 34178
configitems: register the 'convert.hg.ignoreerrors' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:45 +0200] rev 34177
configitems: register the 'convert.hg.clonebranches' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:32 +0200] rev 34176
configitems: register the 'convert.git.skipsubmodules' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:23 +0200] rev 34175
configitems: register the 'convert.git.similarity' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:14 +0200] rev 34174
configitems: register the 'convert.git.saverev' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:06 +0200] rev 34173
configitems: register the 'convert.git.renamelimit' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:34:00 +0200] rev 34172
configitems: register the 'convert.git.remoteprefix' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:51 +0200] rev 34171
configitems: register the 'convert.git.findcopiesharder' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:41 +0200] rev 34170
configitems: register the 'convert.git.extrakeys' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:29 +0200] rev 34169
configitems: register the 'convert.git.committeractions' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:25 +0200] rev 34168
configitems: register the 'convert.cvsps.mergeto' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:15 +0200] rev 34167
configitems: register the 'convert.cvsps.mergefrom' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:33:06 +0200] rev 34166
configitems: register the 'convert.cvsps.fuzz' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:32:53 +0200] rev 34165
configitems: register the 'convert.cvsps.cache' config
The convert extensions has code a bit all around, but it seems simpler to use a
central declaration of options at the root first.
Durham Goode <durham@fb.com> [Wed, 13 Sep 2017 20:39:01 -0700] rev 34164
bundle2: move exception handling into part iterator
As part of separating the part iteration logic from the part handling logic,
let's move the exception handling to the part iterator class.
Differential Revision: https://phab.mercurial-scm.org/D705
Durham Goode <durham@fb.com> [Wed, 13 Sep 2017 17:16:50 -0700] rev 34163
bundle2: move part counter to partiterator
As part of moving the part iterator logic to a separate class, let's move the
part counting logic and the output for it.
Differential Revision: https://phab.mercurial-scm.org/D704
Durham Goode <durham@fb.com> [Wed, 13 Sep 2017 17:16:45 -0700] rev 34162
bundle2: move part iterator a separate class
Currently, the part iterator logic is tightly coupled with the part handling
logic, which means it's hard to replace the part handling logic without
duplicating the part iterator bits.
In a future diff we'll want to be able to replace all part handling, so let's
begin refactoring the part iterator logic to it's own class.
Differential Revision: https://phab.mercurial-scm.org/D703
Durham Goode <durham@fb.com> [Mon, 11 Sep 2017 13:39:22 -0700] rev 34161
changegroup: add source parameter to generatemanifests
Extensions, like remotefilelog, will want to look at the source of a pull when
determining what manifests to add to a changegroup. For instance, on push they
will include everything, while on pull they won't.
Differential Revision: https://phab.mercurial-scm.org/D686
Durham Goode <durham@fb.com> [Wed, 13 Sep 2017 10:43:44 -0700] rev 34160
changegroup: remove changegroup dependency from revlog.addgroup
Previously revlog.addgroup would accept a changegroup and a linkmapper and use
it to iterate of the deltas. As part of untangling the revlog-changegroup
interdependency, let's move the changegroup delta iteration logic to it's own
function and pass the simple iterator to the revlog instead.
This will make it easier to introduce non-revlogs stores in the future, without
reinventing any changegroup specific logic.
Differential Revision: https://phab.mercurial-scm.org/D688
Durham Goode <durham@fb.com> [Wed, 13 Sep 2017 10:43:16 -0700] rev 34159
revlog: refactor chain variable
Previously the addgroup loop would set chain to be the result of
self._addrevision(node,...). Since _addrevision now always returns the passed in
node, we can drop that behavior and just always set chain = node in the loop.
This will be useful in a future patch where we refactor the cg.deltachunk logic
to another function and therefore chain disappears entirely from this function.
Differential Revision: https://phab.mercurial-scm.org/D699
Mark Thomas <mbthomas@fb.com> [Mon, 11 Sep 2017 17:49:49 +0000] rev 34158
scmutil: don't append .orig to backups in origbackuppath (BC)
When ui.origbackuppath is set, .orig files are stored outside of the working
copy, however they still have a .orig suffix appended to them. This can cause
unexpected conflicts, particularly when tracked files or directories have .orig
at the end.
This change removes the .orig suffix from files stored in an out-of-tree
origbackuppath.
Test Plan:
Update and run unit tests.
Differential Revision: https://phab.mercurial-scm.org/D679
Phil Cohen <phillco@fb.com> [Tue, 12 Sep 2017 19:27:01 -0700] rev 34157
merge: move cwd-missing detection to helper functions
This will exist in two places with defered writes, so we want to avoid
duplication.
Differential Revision: https://phab.mercurial-scm.org/D626
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:09:04 +0900] rev 34156
doctest: enable tests by default on Python 3
Still several tests fail mostly because of the string issues, sigh. I'll
fix them one by one.
Yuya Nishihara <yuya@tcha.org> [Thu, 24 Aug 2017 22:33:28 +0900] rev 34155
doctest: normalize b'', u'' and exception output on Python 3
The idea is described in the following page.
https://dirkjan.ochtman.nl/writing/2014/07/06/single-source-python-23-doctests.html
# no-check-commit
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 17:33:10 +0900] rev 34154
doctest: coerce dict.keys() to list
Otherwise it would be printed as odict_keys([...]) on Python 3.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:16:01 +0900] rev 34153
doctest: upgrade old-style "except" clause
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 14:56:31 +0900] rev 34152
doctest: use print_function and convert bytes to unicode where needed
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:47:17 +0900] rev 34151
doctest: do not embed non-ascii characters in docstring
Since the outer docstring is parsed as a unicode on Python 3, we have to
either double-escape or construct non-ascii string from ascii string.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 15:42:27 +0900] rev 34150
doctest: pass encoding name as system string
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 14:38:58 +0900] rev 34149
doctest: replace str() with bytes()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 14:37:25 +0900] rev 34148
doctest: replace chr() with pycompat.bytechr()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 14:35:37 +0900] rev 34147
doctest: replace .iteritems() with .items()
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Sep 2017 14:32:11 +0900] rev 34146
doctest: bulk-replace string literals with b'' for Python 3
Our code transformer can't rewrite string literals in docstrings, and I
don't want to make the transformer more complex.
Yuya Nishihara <yuya@tcha.org> [Thu, 07 Sep 2017 22:36:54 +0900] rev 34145
debuginstall: do not pass exception object to formatter (issue5676)
Yuya Nishihara <yuya@tcha.org> [Thu, 07 Sep 2017 22:27:23 +0900] rev 34144
debuginstall: use codecs.lookup() to detect invalid encoding
encoding.fromlocal() never tries to decode an ascii string since 853574db5b12,
and there's no universal non-ascii string which can be decoded as any valid
character set.
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Sep 2017 23:37:14 +0900] rev 34143
extensions: fix wrapcommand/function of class instance
5361771f9714 changed _updatewrapper() to copy the __name__ attribute, but
not all callable objects has __name__.
Spotted by loading mq with extdiff.
Durham Goode <durham@fb.com> [Tue, 12 Sep 2017 09:13:02 -0700] rev 34142
changegroup: avoid creating empty changegroup part
Previously this check happened in the changegroup code itself. Since its
refactor, this logic needs to move out to callers that care about it, such as
this one. Otherwise we get empty bundle devel-warnings in certain extensions.
Differential Revision: https://phab.mercurial-scm.org/D690
Durham Goode <durham@fb.com> [Tue, 12 Sep 2017 15:12:27 -0700] rev 34141
tests: split test-revset.t in half
This test has gotten so large that running it can exceed the normal timeout on
systems under load (like if we're running all the tests in parallel). This patch
splits the test cleanly in half.
Differential Revision: https://phab.mercurial-scm.org/D694
Phil Cohen <phillco@fb.com> [Mon, 11 Sep 2017 13:17:43 -0700] rev 34140
merge: flush any deferred writes just before recordupdates()
``recordupdates`` calls into the dirstate which requires the files to be
there, so this is the last possible moment we can flush anything.
Differential Revision: https://phab.mercurial-scm.org/D673
Phil Cohen <phillco@fb.com> [Mon, 11 Sep 2017 13:03:27 -0700] rev 34139
merge: flush any deferred writes before, and after, running any workers
Since we fork to create workers, any changes they queue up will be lost after
the worker terminates, so the easiest solution is to have each worker flush
the writes they accumulate--we are close to the end of the merge in any case.
To prevent duplicated writes, we also have the master processs flush before
forking.
In an in-memory merge (M2), we'll instead disable the use of workers.
Differential Revision: https://phab.mercurial-scm.org/D628
Phil Cohen <phillco@fb.com> [Mon, 11 Sep 2017 13:03:27 -0700] rev 34138
filemerge: flush if using deferred writes when running a merge tool
Since merge tools might read from the filesystem, we need to write out our
deferred writes here.
No-ops if not using deferred writes.
Differential Revision: https://phab.mercurial-scm.org/D627
Phil Cohen <phillco@fb.com> [Mon, 11 Sep 2017 13:03:27 -0700] rev 34137
merge: pass wctx to premerge, filemerge
In the in-memory merge branch. we'll need to call a function (``flushall``) on
the wctx inside of _xmerge.
This prepares the way so it can be done without hacks like ``fcd.ctx()``.
Differential Revision: https://phab.mercurial-scm.org/D449
Boris Feld <boris.feld@octobus.net> [Mon, 11 Sep 2017 18:07:29 +0200] rev 34136
cmdutil: fix amend when passing a date
Following https://phab.mercurial-scm.org/D636, passing the same date that the
changeset to amend would results in no new commits but the output changed
from:
$ hg amend -d '0 0'
nothing changed
[1]
to:
$ hg amend -d '0 0'
Restore the old behavior by parsing the date passed as parameter so the
condition "date == old.date()" correctly works in cases both dates are
identical.
Add a test for covering this regression.
This bug was found thanks to Evolve test suite.
Differential Revision: https://phab.mercurial-scm.org/D691
Augie Fackler <augie@google.com> [Tue, 12 Sep 2017 11:18:35 -0400] rev 34135
merge with stable
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:39:32 +0200] rev 34134
configitems: register the 'eol.only-consistent' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:39:26 +0200] rev 34133
configitems: register the 'eol.native' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:39:21 +0200] rev 34132
configitems: register the 'eol.fix-trailing-newline' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:43 +0200] rev 34131
configitems: register the 'patchbomb.publicurl' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:41 +0200] rev 34130
configitems: register the 'patchbomb.intro' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:40 +0200] rev 34129
configitems: register the 'patchbomb.from' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:39 +0200] rev 34128
configitems: register the 'patchbomb.flagtemplate' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:38 +0200] rev 34127
configitems: register the 'patchbomb.confirm' config