equal
deleted
inserted
replaced
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): |