Mercurial > evolve
changeset 1314:d13d97363521
evolve: refactoring of code related to pushing obs markers
This removes duplicated code for the pushobsmarkers logic
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Thu, 30 Apr 2015 14:55:04 -0700 |
parents | 31e96036acd3 |
children | 445d7f46f25d |
files | hgext/evolve.py |
diffstat | 1 files changed, 15 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/evolve.py Mon May 04 10:56:06 2015 -0700 +++ b/hgext/evolve.py Thu Apr 30 14:55:04 2015 -0700 @@ -2674,28 +2674,7 @@ caps.add('_evoext_pushobsmarkers_0') return caps -@eh.addattr(localrepo.localpeer, 'evoext_pushobsmarkers_0') -def local_pushobsmarkers(peer, obsfile): - data = obsfile.read() - tr = lock = None - try: - lock = peer._repo.lock() - tr = peer._repo.transaction('pushkey: obsolete markers') - new = peer._repo.obsstore.mergemarkers(tr, data) - if new is not None: - obsexcmsg(peer._repo.ui, "%i obsolescence markers added\n" % new, True) - tr.close() - finally: - lockmod.release(tr, lock) - peer._repo.hook('evolve_pushobsmarkers') - -def srv_pushobsmarkers(repo, proto): - """wireprotocol command""" - fp = StringIO() - proto.redirect() - proto.getfile(fp) - data = fp.getvalue() - fp.close() +def _pushobsmarkers(repo, data): tr = lock = None try: lock = repo.lock() @@ -2707,6 +2686,20 @@ finally: lockmod.release(tr, lock) repo.hook('evolve_pushobsmarkers') + +@eh.addattr(localrepo.localpeer, 'evoext_pushobsmarkers_0') +def local_pushobsmarkers(peer, obsfile): + data = obsfile.read() + _pushobsmarkers(peer._repo, data) + +def srv_pushobsmarkers(repo, proto): + """wireprotocol command""" + fp = StringIO() + proto.redirect() + proto.getfile(fp) + data = fp.getvalue() + fp.close() + _pushobsmarkers(repo, data) return wireproto.pushres(0) def _buildpullobsmarkersboundaries(pullop):