# HG changeset patch # User Mads Kiilerich <madski@unity3d.com> # Date 1400200227 -7200 # Fri May 16 02:30:27 2014 +0200 # Node ID 6b8daeea638ae6e8af40273fbfdfb1ffad86190d # Parent 798c81e32b5ebc4598d6468bee6adeb4e0b7cd3d convert: mercurial source: convert global tags only - not local tags Mercurial tags can be local (tag -l, stored in .hg/localtags) or global (normal tags, tracked in .hgtags) ... or extensions can add other kind of tags. Convert would take all tags (except "tip"), not just the ones from .hgtags, and put them into .hgtags. Instead, convert only the global tags that come from .hgtags. diff --git a/hgext/convert/hg.py b/hgext/convert/hg.py --- a/hgext/convert/hg.py +++ b/hgext/convert/hg.py @@ -394,7 +394,9 @@ sortkey=ctx.rev()) def gettags(self): - tags = [t for t in self.repo.tagslist() if t[0] != 'tip'] + # This will get written to .hgtags, filter non global tags out. + tags = [t for t in self.repo.tagslist() + if self.repo.tagtype(t[0]) == 'global'] return dict([(name, hex(node)) for name, node in tags if self.keep(node)]) diff --git a/tests/test-convert-hg-sink.t b/tests/test-convert-hg-sink.t --- a/tests/test-convert-hg-sink.t +++ b/tests/test-convert-hg-sink.t @@ -16,8 +16,10 @@ $ echo file > foo/file $ hg ci -qAm 'add foo/file' $ hg tag some-tag + $ hg tag -l local-tag $ hg log changeset: 3:593cbf6fb2b4 + tag: local-tag tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000