Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:49 +0530] rev 35365
py3: handle keyword arguments correctly in obsolete.py
Differential Revision: https://phab.mercurial-scm.org/D1638
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:34 +0530] rev 35364
py3: handle keyword arguments correctly in keepalive.py
Differential Revision: https://phab.mercurial-scm.org/D1637
Matt Harbison <matt_harbison@yahoo.com> [Fri, 08 Dec 2017 00:18:30 -0500] rev 35363
lfs: restore the local blob store after a repo upgrade
This also ends up testing the local extension wrapping for dstrepo during
upgrade, which was fixed in
06987c6971be.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 23:44:06 -0500] rev 35362
lfs: override walk() in lfsvfs
In order to fix the missing lfs store after an upgrade, I attempted to walk the
store vfs to hardlink to the upgraded repo's store. But the custom join()
clashes with the default walk() implementation. First, 'path=None' blew up in
the regex matcher, because it wanted a string. But even if that is fixed, the
join to walk the root of the vfs wouldn't match the required xx/xx...xx pattern.
The first cut of this was a copy/paste/tweak of the base implementation, but
this version of walk() hides the internal directories, and treats the vfs as a
flat store. I think this makes sense because most vfs methods call join() on
input paths, which wants the simple oid format. It also relieves the caller
from having to deal with bogus files/directories in the store.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 22:36:31 -0500] rev 35361
tests: add coverage for preserving 'lfs' requirement on repo upgrade
The test also shows that the local blob store is erroneously lost.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 07 Dec 2017 22:35:19 -0500] rev 35360
test-upgrade-repo: glob away timing values
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:21 +0530] rev 35359
py3: handle keyword arguments correctly in httppeer.py
Differential Revision: https://phab.mercurial-scm.org/D1635
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:47:04 +0530] rev 35358
py3: handle keyword arguments correctly in httpconnection.py
Differential Revision: https://phab.mercurial-scm.org/D1634
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:50 +0530] rev 35357
py3: handle keyword arguments correctly in hook.py
Differential Revision: https://phab.mercurial-scm.org/D1633
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:39 +0530] rev 35356
py3: handle keyword arguments correctly in help.py
Differential Revision: https://phab.mercurial-scm.org/D1632
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:25 +0530] rev 35355
py3: handle keyword arguments correctly in exchange.py
Differential Revision: https://phab.mercurial-scm.org/D1631
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:46:13 +0530] rev 35354
py3: handle keyword arguments correctly in dispatch.py
Differential Revision: https://phab.mercurial-scm.org/D1630
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:56 +0530] rev 35353
py3: handle keyword arguments correctly in context.py
Differential Revision: https://phab.mercurial-scm.org/D1629
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:41 +0530] rev 35352
py3: handle keyword arguments correctly in commands.py
Differential Revision: https://phab.mercurial-scm.org/D1628
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:27 +0530] rev 35351
py3: handle keyword arguments correctly in color.py
Differential Revision: https://phab.mercurial-scm.org/D1627
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:45:10 +0530] rev 35350
py3: handle keyword arguments correctly in cmdutil.py
Differential Revision: https://phab.mercurial-scm.org/D1626
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 04:43:41 +0530] rev 35349
py3: handle keyword arguments correctly in archival.py
Differential Revision: https://phab.mercurial-scm.org/D1625
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 10 Dec 2017 02:52:48 +0530] rev 35348
py3: handle keyword arguments correctly in hgext/largefiles/
Keys of keyword arguments must be str(unicode) on Python 3. The transformer
which we use on Python 3, appends b'' in front of each string literal, so this
may lead in KeyError or None return even when the key is present by we are using
bytes value and it's stored in unicodes. This patch and all the similar patches
handle this by either converting the keys of kwargs to bytes using
'pycompat.byteskwargs()' or adding r'' so that the transformer won't append
b''.
This next 23 patches follows the above mentioned way to handle keyword
arguments.
Differential Revision: https://phab.mercurial-scm.org/D1624
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 07 Dec 2017 00:26:45 +0530] rev 35347
remotenames: rename related file and storage dir to logexchange
This patch renames remotenames.py to logexchange.py, test-remotenames.t to
test-logexchange.t. Also this patch renames the directory in which the data is
stored from remotenames to logexchange. After this patch, data about bookmarks
and branches from a server we pull is stored in
`.hg/logexchange/(bookmarks|branches)` files.
Thanks to smf for the suggestion.
Differential Revision: https://phab.mercurial-scm.org/D1607
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 21:56:18 +0100] rev 35346
lfs: allow to run 'debugupgraderepo' on repo with largefiles
The extensions wrap the necessary function to ensure the 'lfs' requirements
won't be dropped.
It is now possible to run `hg debugupgraderepo` on a repository with lfs.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 20:27:03 +0100] rev 35345
upgrade: add a 'redeltafullall' mode
We add a new mode for delta recomputation, when selected, each full text will
go through the full "addrevision" mechanism again. This is slower than
"redeltaall" but this gives the opportunity for extensions to trigger special
logic. For example, the lfs extensions can decide to promote some revision to
lfs storage during the upgrade.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 22:37:18 +0100] rev 35344
upgrade: use actual filelog to convert filelog
Extensions can add extra logic related to the config, so we must use the actual
class. The path used needs minimal transformation for this to work.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 18:56:10 +0100] rev 35343
upgrade: more standard creation of the temporary repository
By using the standard path to create a repository we fill some hole in the
current initialization process. The one who triggered this changeset was the
lack of extensions initialization.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 18:55:35 +0100] rev 35342
upgrade: use the repository 'ui' as the base for the new repository
The `repo.baseui` contains all the configuration but the one specific to the
repository (so it can be used when dealing with local peer and sub-
repository). However, we need the repository config to be taken into account
when doing the upgrade. Otherwise, the upgrade related config that exists in
the repository config won't be taken into account when performing the update.
A buggy and surprising behavior.
We had to work around protection set around `repo.ui.copy` since we are an
uncommon case.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 20:50:24 +0100] rev 35341
upgrade: add a test to show the repository config being ignored
The upgrade process ignores the config within the repository. The next
changeset fixes it, but we introduce this test before to show it actually
tests our target.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:50:48 +0100] rev 35340
upgrade: register compression as a format variants
Compression is a promising vector for speedup, let us make it easier to check
the compression used and upgrade existing repository.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:49:24 +0100] rev 35339
debugformat: handle non-boolean value for variant
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:12:32 +0100] rev 35338
debugformat: update label depending on value difference
The new label highlight areas where the repo format differs from current
config or default. This should help people spot area where a repository
mismatch with the expected state.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:05:20 +0100] rev 35337
debugformat: add data about the config when verbose
In verbose mode, the command also displays the current configuration choice
for the variant and the global Mercurial default for it.
Boris Feld <boris.feld@octobus.net> [Thu, 07 Dec 2017 16:19:46 +0100] rev 35336
debugformat: add a 'debugformat' command
The command displays basic data about all format variants registered for repo
upgrades. This gives a quick way to peek into a repository format.
The 'fm.write()' calls are very independent because more data will be added in
later changeset. Having more separate call make the later patch clearer.