Mercurial > hgsubversion
view tag_repo.py @ 218:a360ddc97719
branches: change handling again, but this time a little less magic.
This change means that files located in the actual branches directory will now be wholly
ignored. If we want to handle those correctly, it will take a reasonably large amount of work
and probably a configuration flag. Also, any non-related paths outside of branches/trunk will
be explicitly ignored, which is similar to the somewhat accidental pre-branch-refactor
behavior. Finally, any unrelated files located as children of branches will cause the directory
in branches to be used as the branch - not, as recently was the case, the directory immediately
containing that file.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Sat, 28 Mar 2009 16:38:57 -0500 |
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