remote-hg: add support for tag objects
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Felipe Contreras committed
Apr 22, 2013 at 16:55 UTC
299789c22c9676f6fed77716c7a177e49940d389
1 file changed
+7
-3
contrib/remote-helpers/git-remote-hg
+7
-3
@@ -722,7 +722,7 @@ def parse_tag(parser):
722
data = parser.get_data()
723
parser.next()
724
725
- # nothing to do
725
+ parsed_tags[name] = (tagger, data)
726
727
def do_export(parser):
728
global parsed_refs, bmarks, peer
@@ -758,9 +758,11 @@ def do_export(parser):
758
continue
759
elif ref.startswith('refs/tags/'):
760
tag = ref[len('refs/tags/'):]
761
+ author, msg = parsed_tags.get(tag, (None, None))
762
if mode == 'git':
762
- msg = 'Added tag %s for changeset %s' % (tag, hghex(node[:6]));
763
- parser.repo.tag([tag], node, msg, False, None, {})
763
+ if not msg:
764
+ msg = 'Added tag %s for changeset %s' % (tag, hghex(node[:6]));
765
+ parser.repo.tag([tag], node, msg, False, author[0], {})
766
else:
767
parser.repo.tag([tag], node, None, True, None, {})
768
print "ok %s" % ref
@@ -815,6 +817,7 @@ def main(args):
817
global marks, blob_marks, parsed_refs
818
global peer, mode, bad_mail, bad_name
819
global track_branches, force_push, is_tmp
820
+ global parsed_tags
821
822
alias = args[1]
823
url = args[2]
@@ -857,6 +860,7 @@ def main(args):
860
blob_marks = {}
861
parsed_refs = {}
862
marks = None
863
+ parsed_tags = {}
864
865
repo = get_repo(url, alias)
866
prefix = 'refs/hg/%s' % alias