diff --git a/hggit/git_handler.py b/hggit/git_handler.py index 7bf50671a5bdae6b1d24bea9821ab310c85552a1_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..7c1452551db1cbafb437c2285cdab2d9f9cb799b_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644 --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -1093,4 +1093,9 @@ # filter refs older than min_timestamp min_timestamp, min_offset = hgutil.parsedate(min_date) + def check_min_time(obj): + if isinstance(obj, Tag): + return obj.tag_time >= min_timestamp + else: + return obj.commit_time >= min_timestamp return util.OrderedDict((ref, sha) for ref, sha in refs.iteritems() @@ -1096,5 +1101,5 @@ return util.OrderedDict((ref, sha) for ref, sha in refs.iteritems() - if self.git[sha].commit_time >= min_timestamp) + if check_min_time(self.git[sha])) def update_references(self): exportable = self.get_exportable() diff --git a/tests/test-pull.t b/tests/test-pull.t index 7bf50671a5bdae6b1d24bea9821ab310c85552a1_dGVzdHMvdGVzdC1wdWxsLnQ=..7c1452551db1cbafb437c2285cdab2d9f9cb799b_dGVzdHMvdGVzdC1wdWxsLnQ= 100644 --- a/tests/test-pull.t +++ b/tests/test-pull.t @@ -270,6 +270,15 @@ $ GIT_AUTHOR_DATE="2014-03-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2009-01-01 00:00:00 +0000" \ > git commit -m oldcommit > /dev/null || echo "git commit error" +also add an annotated tag + $ git checkout -q master^ + $ echo oldtag > oldtag + $ git add oldtag + $ GIT_AUTHOR_DATE="2014-03-01 00:00:00 +0000" \ + > GIT_COMMITTER_DATE="2009-01-01 00:00:00 +0000" \ + > git commit -m oldtag > /dev/null || echo "git commit error" + $ GIT_COMMITTER_DATE="2009-02-01 00:00:00 +0000" \ + > git tag -a -m 'tagging oldtag' oldtag $ cd .. $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo @@ -285,8 +294,9 @@ $ cd gitrepo + $ git checkout -q master $ echo newcommit > newcommit $ git add newcommit $ GIT_AUTHOR_DATE="2014-01-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ > git commit -m newcommit > /dev/null || echo "git commit error" @@ -288,10 +298,13 @@ $ echo newcommit > newcommit $ git add newcommit $ GIT_AUTHOR_DATE="2014-01-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ > git commit -m newcommit > /dev/null || echo "git commit error" + $ git checkout -q refs/tags/oldtag + $ GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ + > git tag -a -m 'tagging newtag' newtag $ cd .. $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg heads .' to see heads, 'hg merge' to merge) @@ -293,10 +306,10 @@ $ cd .. $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg heads .' to see heads, 'hg merge' to merge) - $ hg -R hgrepo log -r master - changeset: 8:c7d0cf1a7601 + $ hg -R hgrepo heads + changeset: 9:c7d0cf1a7601 bookmark: master tag: default/master tag: tip @@ -304,3 +317,34 @@ date: Wed Jan 01 00:00:00 2014 +0000 summary: newcommit + changeset: 7:d416c428c92d + tag: newtag + tag: oldtag + parent: 4:892d20308ddf + user: test <test@example.org> + date: Sat Mar 01 00:00:00 2014 +0000 + summary: oldtag + + changeset: 6:bdc34645137e + bookmark: releases/v2 + tag: default/releases/v2 + parent: 4:892d20308ddf + user: test <test@example.org> + date: Mon Jan 01 00:00:15 2007 +0000 + summary: add eta + + changeset: 5:3e35a45c61f9 + bookmark: releases/v1 + tag: default/releases/v1 + user: test <test@example.org> + date: Mon Jan 01 00:00:14 2007 +0000 + summary: add zeta + + changeset: 2:4d41070bf840 + bookmark: delta + tag: default/delta + parent: 0:3442585be8a6 + user: test <test@example.org> + date: Mon Jan 01 00:00:12 2007 +0000 + summary: add delta +