Mercurial > hgsubversion
comparison tag_repo.py @ 124:291925677a9f
tag_repo: remove gentags command, extend repo.tags(), HgChangeEditor now takes either repo or repo_path
| author | Luke Opperman <luke@loppear.com> |
|---|---|
| date | Thu, 04 Dec 2008 13:10:40 -0600 |
| parents | |
| children | 91c818377703 |
comparison
equal
deleted
inserted
replaced
| 123:58de7aea8a77 | 124:291925677a9f |
|---|---|
| 1 import pickle | |
| 2 | |
| 3 from mercurial import node | |
| 4 | |
| 5 import hg_delta_editor | |
| 6 | |
| 7 | |
| 8 def tags_from_tag_info(repo): | |
| 9 hg_editor = hg_delta_editor.HgChangeReceiver(repo=repo) | |
| 10 for tag, source in hg_editor.tags.iteritems(): | |
| 11 source_ha = hg_editor.get_parent_revision(source[1]+1, source[0]) | |
| 12 yield 'tag/%s'%tag, node.hex(source_ha) | |
| 13 | |
| 14 | |
| 15 def generate_repo_class(ui, repo): | |
| 16 | |
| 17 class svntagrepo(repo.__class__): | |
| 18 def tags(self): | |
| 19 tags = dict((k, node.bin(v)) | |
| 20 for k,v in tags_from_tag_info(self)) | |
| 21 hg_tags = super(svntagrepo, self).tags() | |
| 22 tags.update(hg_tags) | |
| 23 return tags | |
| 24 | |
| 25 return svntagrepo |
