Mercurial > hg
changeset 47046:497cedcb6504 stable
git: make changelog.tiprev() return int instead of tuple (issue6510)
Differential Revision: https://phab.mercurial-scm.org/D10522
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 27 Apr 2021 12:31:30 -0400 |
parents | 846920d89476 |
children | 8d733cbc2724 |
files | hgext/git/gitlog.py tests/test-git-interop.t |
diffstat | 2 files changed, 36 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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):
--- 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 <test> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: Introduce file a/mu + + changeset: 6:80adc61cf57e + user: test <test> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test interactive commit + + changeset: 7:116aee5ecdff + bookmark: master + tag: tip + user: test <test> + date: Thu Jan 01 00:00:00 1970 +0000 + summary: remove beta + +