[PATCH 0 of 9 (38 total)] Large refactoring of pull and push code coming

pierre-yves.david at ens-lyon.org pierre-yves.david at ens-lyon.org
Sat Feb 1 19:32:56 CST 2014


Those patches are the first quarter of a large push and pull refactoring.

This is the same kind of series that I send in March 2013. I updated it with
Matt Mackall comment.

The purpose of this series is well explained into the description of the first
patch.

The whole series is visible on http://hg-lab.logilab.org/wip/hg/graph/c3476a0906c6

There is a large number of changeset but most of them are simple code move or
well insulated repetitive operation,

I would like to setup a specific rview windows with someone from crew to get it
in efficiently. (I'm however out of town from the Feb 3th to Feb 10th)

Below is summary of all patch in the series:

exchange: extract push function from localrepo
push: introduce a pushoperation object
push: ease access to current ui object
push: move `remote` argument in the push object
push: move `force` argument into the push object
push: move `revs` argument into the push object
push: move `newbranch` argument into the push object
push: move bookmarks exchange in the exchange module
push: feed pushoperation object to _pushbookmark function
push: move obsolescence marker exchange in the exchange module
push: feed pushoperation object to _pushobsolete function
push: drop now outdated comment
push: move obsolescence related message into _pushobsolescence function
push: move local lock logic in pushoperation
push: explicitly feed pushop to localphasemove
push: move local phase move in a normal function
push: move push return value in the push object
push: move outgoing object in the push object
push: move phases synchronisation function in its own function
push: move `remoteheads` into the push object
push: move changeset push  logic in its own function
push: move `incoming` into the push object
push: move outgoing check logic in its own function
push: move discovery in its own function
push: move `commonheads` into the push object
push: extract new common set computation from phase synchronisation
exchange: extract pull function from localrepo
pull: introduce a pulloperation object
pull: move `remote` argument into pull object
pull: move `heads` argument into pull object
pull: move `force` argument into pull object
pull: move obsolescence marker exchange in the exchange module
pull: move transaction logic into the pull object
push: feed pulloperation object to _pullobsolete function
pull: move pulled subset into the object
pull: move phases synchronisation in its own function
pull: make pulled subset a propertycache of the pull object
pull: move changeset pulling in its own function


More information about the Mercurial-devel mailing list