diff -r fb16ad368606 -r eb061d272af4 hgext/git/dirstate.py --- a/hgext/git/dirstate.py Tue Mar 10 14:24:08 2020 +0100 +++ b/hgext/git/dirstate.py Tue Mar 10 13:10:45 2020 -0400 @@ -76,7 +76,12 @@ self._plchangecallbacks = {} def p1(self): - return self.git.head.peel().id.raw + try: + return self.git.head.peel().id.raw + except pygit2.GitError: + # Typically happens when peeling HEAD fails, as in an + # empty repository. + return nodemod.nullid def p2(self): # TODO: MERGE_HEAD? something like that, right?