hgext/eol.py
changeset 13616 e6f93ca9ce86
parent 13615 686dec753b52
child 13617 9cb1a42cd4b3
equal deleted inserted replaced
13615:686dec753b52 13616:e6f93ca9ce86
   200                   "at %s: %s\n") % (inst.args[1], inst.args[0]))
   200                   "at %s: %s\n") % (inst.args[1], inst.args[0]))
   201     return None
   201     return None
   202 
   202 
   203 def hook(ui, repo, node, hooktype, **kwargs):
   203 def hook(ui, repo, node, hooktype, **kwargs):
   204     """verify that files have expected EOLs"""
   204     """verify that files have expected EOLs"""
       
   205     # Extract heads and get touched files set at the same time
   205     files = set()
   206     files = set()
       
   207     heads = set()
   206     for rev in xrange(repo[node].rev(), len(repo)):
   208     for rev in xrange(repo[node].rev(), len(repo)):
   207         files.update(repo[rev].files())
   209         ctx = repo[rev]
   208     tip = repo['tip']
   210         files.update(ctx.files())
   209     eol = parseeol(ui, repo, [tip.node()])
   211         heads.add(rev)
   210     if eol:
   212         for pctx in ctx.parents():
   211         eol.checkrev(repo, tip, files)
   213             heads.discard(pctx.rev())
       
   214     for rev in heads:
       
   215         ctx = repo[rev]
       
   216         eol = parseeol(ui, repo, [ctx.node()])
       
   217         if eol:
       
   218             eol.checkrev(repo, ctx, files)
   212 
   219 
   213 def preupdate(ui, repo, hooktype, parent1, parent2):
   220 def preupdate(ui, repo, hooktype, parent1, parent2):
   214     #print "preupdate for %s: %s -> %s" % (repo.root, parent1, parent2)
   221     #print "preupdate for %s: %s -> %s" % (repo.root, parent1, parent2)
   215     repo.loadeol([parent1])
   222     repo.loadeol([parent1])
   216     return False
   223     return False