# HG changeset patch # User Matt Harbison # Date 1619541090 14400 # Node ID 497cedcb6504195f34477671f98293dfc86d3758 # Parent 846920d89476c19176df8a9f7871fb3d30d02820 git: make changelog.tiprev() return int instead of tuple (issue6510) Differential Revision: https://phab.mercurial-scm.org/D10522 diff -r 846920d89476 -r 497cedcb6504 hgext/git/gitlog.py --- a/hgext/git/gitlog.py Tue Apr 27 00:26:12 2021 -0400 +++ b/hgext/git/gitlog.py Tue Apr 27 12:31:30 2021 -0400 @@ -159,8 +159,11 @@ def tiprev(self): t = self._db.execute( 'SELECT rev FROM changelog ' 'ORDER BY REV DESC ' 'LIMIT 1' - ) - return next(t) + ).fetchone() + + if t is not None: + return t[0] + return -1 def _partialmatch(self, id): if wdirhex.startswith(id): diff -r 846920d89476 -r 497cedcb6504 tests/test-git-interop.t --- a/tests/test-git-interop.t Tue Apr 27 00:26:12 2021 -0400 +++ b/tests/test-git-interop.t Tue Apr 27 12:31:30 2021 -0400 @@ -49,6 +49,16 @@ > log-index-cache-miss = yes > EOF +Test some edge cases around a commitless repo first + $ mkdir empty + $ cd empty + $ git init + Initialized empty Git repository in $TESTTMP/empty/.git/ + $ hg init --git + $ hg heads + [1] + $ cd .. + Make a new repo with git: $ mkdir foo $ cd foo @@ -377,3 +387,24 @@ $ hg rm beta $ hg ci -m 'remove beta' +This covers changelog.tiprev() (issue6510) + $ hg log -r '(.^^):' + heads mismatch, rebuilding dagcache + changeset: 5:ae1ab744f95b + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: Introduce file a/mu + + changeset: 6:80adc61cf57e + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test interactive commit + + changeset: 7:116aee5ecdff + bookmark: master + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: remove beta + +