Show More
@@ -2177,6 +2177,42 class overlayworkingctx(committablectx): | |||
|
2177 | 2177 | self._path) |
|
2178 | 2178 | return self._wrappedctx[path].size() |
|
2179 | 2179 | |
|
2180 | def tomemctx(self, text, branch=None, extra=None, date=None, parents=None, | |
|
2181 | user=None, editor=None): | |
|
2182 | """Converts this ``overlayworkingctx`` into a ``memctx`` ready to be | |
|
2183 | committed. | |
|
2184 | ||
|
2185 | ``text`` is the commit message. | |
|
2186 | ``parents`` (optional) are rev numbers. | |
|
2187 | """ | |
|
2188 | # Default parents to the wrapped contexts' if not passed. | |
|
2189 | if parents is None: | |
|
2190 | parents = self._wrappedctx.parents() | |
|
2191 | if len(parents) == 1: | |
|
2192 | parents = (parents[0], None) | |
|
2193 | ||
|
2194 | # ``parents`` is passed as rev numbers; convert to ``commitctxs``. | |
|
2195 | if parents[1] is None: | |
|
2196 | parents = (self._repo[parents[0]], None) | |
|
2197 | else: | |
|
2198 | parents = (self._repo[parents[0]], self._repo[parents[1]]) | |
|
2199 | ||
|
2200 | files = self._cache.keys() | |
|
2201 | def getfile(repo, memctx, path): | |
|
2202 | if self._cache[path]['exists']: | |
|
2203 | return memfilectx(repo, path, | |
|
2204 | self._cache[path]['data'], | |
|
2205 | 'l' in self._cache[path]['flags'], | |
|
2206 | 'x' in self._cache[path]['flags'], | |
|
2207 | self._cache[path]['copied'], | |
|
2208 | memctx) | |
|
2209 | else: | |
|
2210 | # Returning None, but including the path in `files`, is | |
|
2211 | # necessary for memctx to register a deletion. | |
|
2212 | return None | |
|
2213 | return memctx(self._repo, parents, text, files, getfile, date=date, | |
|
2214 | extra=extra, user=user, branch=branch, editor=editor) | |
|
2215 | ||
|
2180 | 2216 | def isdirty(self, path): |
|
2181 | 2217 | return path in self._cache |
|
2182 | 2218 |
General Comments 0
You need to be logged in to leave comments.
Login now