[PATCH 0 of 4] Lightweight wire protocol extension to transfer custom data

David Soria Parra sn_ at gmx.net
Wed Aug 27 10:03:18 UTC 2008


Extension for pushing and pulling user defined data

Extensions can provide additional information during push/pull
if they implement the methods repopush/repopull. They can send
completly userdefined data that is than pickled and transfered.
On the remote side, the corresponding repopull method is called
and receives the unpickled data.

Mercurial's core doesn't store anything. It just provides the
transfer mechanism. This enables extensions to transfer e.g. the
.hg/hgrc file or to decide how data is stored in the repository.
Therefore it is should be a much simpler implementation than changing
storage formats. 

Drawback of this solutions is, that you need to enable the extensions
on both remote and local repositories.

The last patch of the series might can be eventually dropped if people
don't like to add 3 hooks, but I think it's nice to be able to give
args to the repopush command on the remote side.

Maybe the naming of the hooks are not quite nice, so don't hesitate to
change them.


More information about the Mercurial-devel mailing list