diff --git a/hgext/git/dirstate.py b/hgext/git/dirstate.py --- a/hgext/git/dirstate.py +++ b/hgext/git/dirstate.py @@ -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?