Mercurial > hgsubversion
comparison hgsubversion/util.py @ 1182:8f9619a67565
maps: change readmapfile to take a path instead of repo
This is a small refactor for an upcoming change that will change map objects to
store a svnmeta instead of the repo.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Mon, 24 Mar 2014 11:20:44 -0500 |
parents | 91d685418490 |
children | 05aea77371a3 |
comparison
equal
deleted
inserted
replaced
1181:eb4c7bc23f9e | 1182:8f9619a67565 |
---|---|
341 ''' | 341 ''' |
342 args = revset.getargs(x, 0, 0, "fromsvn takes no arguments") | 342 args = revset.getargs(x, 0, 0, "fromsvn takes no arguments") |
343 | 343 |
344 rev = repo.changelog.rev | 344 rev = repo.changelog.rev |
345 bin = node.bin | 345 bin = node.bin |
346 meta = repo.svnmeta(skiperrorcheck=True) | |
346 try: | 347 try: |
347 svnrevs = set(rev(bin(l.split(' ', 2)[1])) | 348 svnrevs = set(rev(bin(l.split(' ', 2)[1])) |
348 for l in maps.RevMap.readmapfile(repo, missingok=False)) | 349 for l in maps.RevMap.readmapfile(meta.revmap_file, |
350 missingok=False)) | |
349 return filter(svnrevs.__contains__, subset) | 351 return filter(svnrevs.__contains__, subset) |
350 except IOError, err: | 352 except IOError, err: |
351 if err.errno != errno.ENOENT: | 353 if err.errno != errno.ENOENT: |
352 raise | 354 raise |
353 raise hgutil.Abort("svn metadata is missing - " | 355 raise hgutil.Abort("svn metadata is missing - " |
366 except ValueError: | 368 except ValueError: |
367 raise error.ParseError("the argument to svnrev() must be a number") | 369 raise error.ParseError("the argument to svnrev() must be a number") |
368 | 370 |
369 rev = rev + ' ' | 371 rev = rev + ' ' |
370 revs = [] | 372 revs = [] |
371 try: | 373 meta = repo.svnmeta(skiperrorcheck=True) |
372 for l in maps.RevMap.readmapfile(repo, missingok=False): | 374 try: |
375 for l in maps.RevMap.readmapfile(meta.revmap_file, missingok=False): | |
373 if l.startswith(rev): | 376 if l.startswith(rev): |
374 n = l.split(' ', 2)[1] | 377 n = l.split(' ', 2)[1] |
375 r = repo[node.bin(n)].rev() | 378 r = repo[node.bin(n)].rev() |
376 if r in subset: | 379 if r in subset: |
377 revs.append(r) | 380 revs.append(r) |