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 |