infinitepush: drop error handling while pushing to svn server
This is something which is internal to Facebook and we don't want in core.
Differential Revision: https://phab.mercurial-scm.org/D2104
infinitepush: drop `--list-remote`, `--remote-path` flags to bookmark cmd
The extension adds these two flags to list remote bookmarks using the `hg
bookmark` command. These are not required in core currently and needs some
discussion before getting them in, so let's drop them for now. This makes us
deleting the wrapping of `hg bookmark` command on client side.
The end goal here is to have minimal or no wrapping at client side.
Differential Revision: https://phab.mercurial-scm.org/D2103
infinitepush: drop the scratchbookmarksparttype bundle2 part
The scratchbookmarksparttype bundle2 part was used in backupcommands.py which we
deleted in an earlier changeset. We don't need this part anymore. Moreover we
now have bookmarks bundle2 part in core which we can use. This patch also drops
the related encoding and decoding functions.
Differential Revision: https://phab.mercurial-scm.org/D2102
infinitepush: remove wrapping around bundle2._addpartsfromopts()
This wrapping around bundle2._addpartsfromopts() was added by me while hacking
on an alternate way to mark a push as infinitepush or not. However the wrapping
is wrong as the push command does not go through the code path which was wrapped
on the client side.
Differential Revision: https://phab.mercurial-scm.org/D2101
infinitepush: delete the bundle2 part ordering related to pushrebase
pushrebase is another Facebook extension which does not live in core yet. So
let's remove the logic which make sures infinitepush part is moved before the
pushrebase one.
Differential Revision: https://phab.mercurial-scm.org/D2100
infinitepush: delete the hack to load the extension after remotenames
The remotenames extension which circumvents the default push implementation
lives outside the core, so let's delete logic related to loading of extension on
the basis of remotenames ext.
Differential Revision: https://phab.mercurial-scm.org/D2099
infinitepush: drop the logic related to inhibit extension
The inhibit extension lives in hg-experimental and is not a core extension.
Differential Revision: https://phab.mercurial-scm.org/D2098
infinitepush: remove backupcommands.py
This file contains command pushbackup and pullbackup which are used to store
things to infinitepush.
This is an advanced functionality which we don't require as of now. Also this
uses shareutil.py from fb-hgext/ which is not there in core. Therefore this
patch deletes the file and the config option which belongs to the backup thing.
If we need this functionality in future, we can always move this file back.
Differential Revision: https://phab.mercurial-scm.org/D2097
infinitepush: move the extension to core from fb-hgext
This patch moves the infinitepush extension from fb-hgext to core. The
extension is used to store incoming bundles during a push in bundlestore rather
than applying them to the revlog.
The extension was copied from the repository revision at
f27f094e91553d3cae5167c0b1c42ae940f888d5 and following changes were made:
* added `from __future__ import absolute_import` where missing
* fixed module imports to follow the core style
* minor fixes for test-check-code.t
* registered the configs
* adding the testedwith value to match core's convention
* removed double newlines to make test-check-commit.t happy
* added one line doc about extension and marked it as experimental
Only one test file test-infinitepush-bundlestore.t is moved to core and
following changes are made to file:
* remove dependency of library.sh
* split the tests into two tests i.e. test-infinitepush.t and
test-infinitepush-bundlestore.t
* removed testing related to other facebook's extensions pushrebase, inhibit,
fbamend
library-infinitepush.sh is also copied from fb-hgext from the same revision and
following changes are made:
* change the path to infinitepush extension as it's in core with this patch
* removed sql handling from the file as we are not testing that initially
Currently at this revision, test-check-module-imports.t does not pass as there
is import of a module from fb/hgext in one the of the file which will be removed
in the next patch.
This extension right now has a lot of things which we don't require in core like
`--to`, `--create` flags to `hg bookmark`, logic related to remotenames
extension and another facebook's extensions, custom bundle2parts which can be
prevented by using bookmarks bundle part and also logic related to sql store
which is probably we don't want initially.
The next patches in this series will remove all the unwanted and unrequired
things from the extension and will make this a nice one.
The end goal is to have a very lighweight extension with no or very less
wrapping on the client side.
Differential Revision: https://phab.mercurial-scm.org/D2096
narrow: use repo.local() instead of isinstance()
Differential Revision: https://phab.mercurial-scm.org/D2973