hgext/git/dirstate.py
changeset 47012 d55b71393907
parent 46113 59fa3890d40a
child 47057 7431f5ab0d2a
equal deleted inserted replaced
46992:5fa019ceb499 47012:d55b71393907
     2 
     2 
     3 import contextlib
     3 import contextlib
     4 import errno
     4 import errno
     5 import os
     5 import os
     6 
     6 
     7 from mercurial.node import nullid
     7 from mercurial.node import sha1nodeconstants
     8 from mercurial import (
     8 from mercurial import (
     9     error,
     9     error,
    10     extensions,
    10     extensions,
    11     match as matchmod,
    11     match as matchmod,
    12     pycompat,
    12     pycompat,
    79         try:
    79         try:
    80             return self.git.head.peel().id.raw
    80             return self.git.head.peel().id.raw
    81         except pygit2.GitError:
    81         except pygit2.GitError:
    82             # Typically happens when peeling HEAD fails, as in an
    82             # Typically happens when peeling HEAD fails, as in an
    83             # empty repository.
    83             # empty repository.
    84             return nullid
    84             return sha1nodeconstants.nullid
    85 
    85 
    86     def p2(self):
    86     def p2(self):
    87         # TODO: MERGE_HEAD? something like that, right?
    87         # TODO: MERGE_HEAD? something like that, right?
    88         return nullid
    88         return sha1nodeconstants.nullid
    89 
    89 
    90     def setparents(self, p1, p2=nullid):
    90     def setparents(self, p1, p2=None):
    91         assert p2 == nullid, b'TODO merging support'
    91         if p2 is None:
       
    92             p2 = sha1nodeconstants.nullid
       
    93         assert p2 == sha1nodeconstants.nullid, b'TODO merging support'
    92         self.git.head.set_target(gitutil.togitnode(p1))
    94         self.git.head.set_target(gitutil.togitnode(p1))
    93 
    95 
    94     @util.propertycache
    96     @util.propertycache
    95     def identity(self):
    97     def identity(self):
    96         return util.filestat.frompath(
    98         return util.filestat.frompath(
   100     def branch(self):
   102     def branch(self):
   101         return b'default'
   103         return b'default'
   102 
   104 
   103     def parents(self):
   105     def parents(self):
   104         # TODO how on earth do we find p2 if a merge is in flight?
   106         # TODO how on earth do we find p2 if a merge is in flight?
   105         return self.p1(), nullid
   107         return self.p1(), sha1nodeconstants.nullid
   106 
   108 
   107     def __iter__(self):
   109     def __iter__(self):
   108         return (pycompat.fsencode(f.path) for f in self.git.index)
   110         return (pycompat.fsencode(f.path) for f in self.git.index)
   109 
   111 
   110     def items(self):
   112     def items(self):