Mercurial > hgsubversion
comparison hg_delta_editor.py @ 306:e6853c7fa3af
hg_delta_editor: fix _split_tag_path to actually work as intended.
I don't remember why I wrote this function, but it might be useful.
This changeset passes all tests, although I couldn't remember how to
run the comprehensive test suite.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Fri, 01 May 2009 13:25:57 +0200 |
parents | ce676eff002b |
children | 1d48d9a34c19 |
comparison
equal
deleted
inserted
replaced
305:97360cb777a8 | 306:e6853c7fa3af |
---|---|
397 Note that it's only a tag if it was copied from the path '' in a branch (or tag) | 397 Note that it's only a tag if it was copied from the path '' in a branch (or tag) |
398 we have, for our purposes. | 398 we have, for our purposes. |
399 | 399 |
400 Otherwise, returns False. | 400 Otherwise, returns False. |
401 """ | 401 """ |
402 return self._split_tag_path(path)[-1] or False | 402 return self._split_tag_path(path)[1] or False |
403 | 403 |
404 def _split_tag_path(self, path): | 404 def _split_tag_path(self, path): |
405 r = (None, None, None) | 405 """Figure out which tag inside our repo this path represents, and |
406 also figure out which path inside that tag it is. | |
407 | |
408 Returns a tuple of (path within tag, tag name, server-side tag | |
409 path). | |
410 """ | |
406 path = self._normalize_path(path) | 411 path = self._normalize_path(path) |
407 for tags_path in self.tag_locations: | 412 for tags_path in self.tag_locations: |
408 if path and (path.startswith(tags_path) and | 413 if path and (path.startswith(tags_path) and |
409 len(path) > len('%s/' % tags_path)): | 414 len(path) > len('%s/' % tags_path)): |
410 return path[len(tags_path)+1:] | 415 tag, _, subpath = path[len(tags_path)+1:].partition('/') |
411 return False | 416 return (subpath, tag, '%s/%s' % (tags_path, tag)) |
417 return (None, None, None) | |
412 | 418 |
413 def get_parent_svn_branch_and_rev(self, number, branch): | 419 def get_parent_svn_branch_and_rev(self, number, branch): |
414 number -= 1 | 420 number -= 1 |
415 if (number, branch) in self.revmap: | 421 if (number, branch) in self.revmap: |
416 return number, branch | 422 return number, branch |