Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/localrepo.py @ 1730:0f1d2c75db5e
add prechangegroup and pretxnchangegroup hooks.
prechangegroup lets you stop push, pull or unbundle before it begins.
pretxnchangegroup lets you inspect changegroup before transaction is
committed, and roll back if you not like it.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Wed, 15 Feb 2006 10:49:30 -0800 |
parents | 801756d0ca84 |
children | d3e6da334b85 |
comparison
equal
deleted
inserted
replaced
1729:ace6d26f78f1 | 1730:0f1d2c75db5e |
---|---|
1340 def revmap(x): | 1340 def revmap(x): |
1341 return self.changelog.rev(x) | 1341 return self.changelog.rev(x) |
1342 | 1342 |
1343 if not source: | 1343 if not source: |
1344 return | 1344 return |
1345 | |
1346 self.hook('prechangegroup', throw=True) | |
1347 | |
1345 changesets = files = revisions = 0 | 1348 changesets = files = revisions = 0 |
1346 | 1349 |
1347 tr = self.transaction() | 1350 tr = self.transaction() |
1348 | 1351 |
1349 oldheads = len(self.changelog.heads()) | 1352 oldheads = len(self.changelog.heads()) |
1381 heads = _(" (+%d heads)") % (newheads - oldheads) | 1384 heads = _(" (+%d heads)") % (newheads - oldheads) |
1382 | 1385 |
1383 self.ui.status(_("added %d changesets" | 1386 self.ui.status(_("added %d changesets" |
1384 " with %d changes to %d files%s\n") | 1387 " with %d changes to %d files%s\n") |
1385 % (changesets, revisions, files, heads)) | 1388 % (changesets, revisions, files, heads)) |
1389 | |
1390 self.hook('pretxnchangegroup', throw=True, | |
1391 node=hex(self.changelog.node(cor+1))) | |
1386 | 1392 |
1387 tr.close() | 1393 tr.close() |
1388 | 1394 |
1389 if changesets > 0: | 1395 if changesets > 0: |
1390 self.hook("changegroup", node=hex(self.changelog.node(cor+1))) | 1396 self.hook("changegroup", node=hex(self.changelog.node(cor+1))) |