diff --git a/hggit/git_handler.py b/hggit/git_handler.py index 60acfbd7538269857192febe8033e539d671a52c_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..ad2ea8d6ef94c240ed2b71722554e022d383344a_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644 --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -710,10 +710,7 @@ ' bookmarks enabled?\n')) def update_remote_branches(self, remote_name, refs): - heads = dict([(ref[11:],refs[ref]) for ref in refs - if ref.startswith('refs/heads/')]) - - for head, sha in heads.iteritems(): + def _set_hg_tag(head, sha): # refs contains all the refs in the server, not just the ones # we are pulling if sha not in self.git.object_store: @@ -717,8 +714,8 @@ # refs contains all the refs in the server, not just the ones # we are pulling if sha not in self.git.object_store: - continue + return hgsha = bin(self.map_hg_get(sha)) tag = '%s/%s' % (remote_name, head) self.repo.tag(tag, hgsha, '', True, None, None) @@ -721,6 +718,6 @@ hgsha = bin(self.map_hg_get(sha)) tag = '%s/%s' % (remote_name, head) self.repo.tag(tag, hgsha, '', True, None, None) - for ref_name in refs: + for ref_name, sha in refs.iteritems(): if ref_name.startswith('refs/heads'): @@ -726,4 +723,7 @@ if ref_name.startswith('refs/heads'): - new_ref = 'refs/remotes/%s/%s' % (remote_name, ref_name[11:]) - self.git.refs[new_ref] = refs[ref_name] + head = ref_name[11:] + _set_hg_tag(head, sha) + + new_ref = 'refs/remotes/%s/%s' % (remote_name, head) + self.git.refs[new_ref] = sha elif ref_name.startswith('refs/tags'): @@ -729,5 +729,5 @@ elif ref_name.startswith('refs/tags'): - self.git.refs[ref_name] = refs[ref_name] + self.git.refs[ref_name] = sha ## UTILITY FUNCTIONS diff --git a/tests/test-hg-author.out b/tests/test-hg-author.out index 60acfbd7538269857192febe8033e539d671a52c_dGVzdHMvdGVzdC1oZy1hdXRob3Iub3V0..ad2ea8d6ef94c240ed2b71722554e022d383344a_dGVzdHMvdGVzdC1oZy1hdXRob3Iub3V0 100644 --- a/tests/test-hg-author.out +++ b/tests/test-hg-author.out @@ -19,4 +19,5 @@ default::refs/heads/master => GIT:2b9ec6a4 @ changeset: 2:92d33c0dd6e1 | tag: master +| tag: tip | tag: default/master @@ -22,5 +23,4 @@ | tag: default/master -| tag: tip | user: test <test@example.com> (comment) | date: Mon Jan 01 00:00:12 2007 +0000 | summary: modify beta @@ -45,4 +45,5 @@ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved @ changeset: 2:92d33c0dd6e1 | tag: master +| tag: tip | tag: default/master @@ -48,5 +49,4 @@ | tag: default/master -| tag: tip | user: test <test@example.com> (comment) | date: Mon Jan 01 00:00:12 2007 +0000 | summary: modify beta diff --git a/tests/test-hg-branch.out b/tests/test-hg-branch.out index 60acfbd7538269857192febe8033e539d671a52c_dGVzdHMvdGVzdC1oZy1icmFuY2gub3V0..ad2ea8d6ef94c240ed2b71722554e022d383344a_dGVzdHMvdGVzdC1oZy1icmFuY2gub3V0 100644 --- a/tests/test-hg-branch.out +++ b/tests/test-hg-branch.out @@ -21,4 +21,5 @@ @ changeset: 2:d93a72262a83 | branch: gamma | tag: master +| tag: tip | tag: default/master @@ -24,5 +25,4 @@ | tag: default/master -| tag: tip | user: test | date: Mon Jan 01 00:00:12 2007 +0000 | summary: started branch gamma @@ -48,4 +48,5 @@ o changeset: 2:d93a72262a83 | branch: gamma | tag: master +| tag: tip | tag: default/master @@ -51,5 +52,4 @@ | tag: default/master -| tag: tip | user: test | date: Mon Jan 01 00:00:12 2007 +0000 | summary: started branch gamma diff --git a/tests/test-hg-tags.out b/tests/test-hg-tags.out index 60acfbd7538269857192febe8033e539d671a52c_dGVzdHMvdGVzdC1oZy10YWdzLm91dA==..ad2ea8d6ef94c240ed2b71722554e022d383344a_dGVzdHMvdGVzdC1oZy10YWdzLm91dA== 100644 --- a/tests/test-hg-tags.out +++ b/tests/test-hg-tags.out @@ -15,4 +15,5 @@ default::refs/heads/master => GIT:9a2616b9 @ changeset: 1:d529e9229f6d | tag: master +| tag: tip | tag: default/master @@ -18,5 +19,4 @@ | tag: default/master -| tag: tip | user: test | date: Mon Jan 01 00:00:11 2007 +0000 | summary: Added tag alpha for changeset 3442585be8a6 @@ -39,4 +39,5 @@ 2 files updated, 0 files merged, 0 files removed, 0 files unresolved @ changeset: 1:d529e9229f6d | tag: master +| tag: tip | tag: default/master @@ -42,5 +43,4 @@ | tag: default/master -| tag: tip | user: test | date: Mon Jan 01 00:00:11 2007 +0000 | summary: Added tag alpha for changeset 3442585be8a6