# HG changeset patch # User Patrick Mezard # Date 1265141159 -3600 # Node ID 3c8b869490728d806b38a9e898807d5863770a37 # Parent 460eb781d840e09e42447905b01dfe20e20110e1 svnmeta: make get_parent_revision() handle added tags diff --git a/hgsubversion/svnmeta.py b/hgsubversion/svnmeta.py --- a/hgsubversion/svnmeta.py +++ b/hgsubversion/svnmeta.py @@ -368,10 +368,19 @@ class SVNMeta(object): ''' tag = self.get_path_tag(self.remotename(branch)) if tag: + # Reference a tag being created + if tag in self.addedtags: + tbranch, trev = self.addedtags[tag] + fromtag = self.get_path_tag(self.remotename(tbranch)) + if not fromtag: + # Created from a regular branch, not another tag + tagged = self.get_parent_svn_branch_and_rev(trev + 1, tbranch) + return node.hex(self.revmap[tagged]) + tag = fromtag + # Reference an existing tag limitedtags = maps.TagMap(self.repo, endrev=number-1) if tag in limitedtags: - ha = limitedtags[tag] - return ha + return limitedtags[tag] r, br = self.get_parent_svn_branch_and_rev(number, branch) if r is not None: return self.revmap[r, br]