Mercurial > hgsubversion
view tag_repo.py @ 203:907c160c6289
Refactor branch handling to be much more dynamic (and hopefully robust).
This should allow fixing of several outstanding issues with branch handling. Note that this is a *massive* change to one of the oldest parts of hgsubversion, so it might introduce bugs not caught by the testsuite.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Mon, 02 Mar 2009 23:58:38 -0600 |
parents | 91c818377703 |
children | 33736e2e25f0 |
line wrap: on
line source
from mercurial import node import hg_delta_editor def tags_from_tag_info(repo): hg_editor = hg_delta_editor.HgChangeReceiver(repo=repo) for tag, source in hg_editor.tags.iteritems(): source_ha = hg_editor.get_parent_revision(source[1]+1, source[0]) yield 'tag/%s'%tag, node.hex(source_ha) def generate_repo_class(ui, repo): class svntagrepo(repo.__class__): def tags(self): tags = dict((k, node.bin(v)) for k,v in tags_from_tag_info(self)) hg_tags = super(svntagrepo, self).tags() tags.update(hg_tags) return tags return svntagrepo