Show More
@@ -1528,6 +1528,23 b' class workingctx(committablectx):' | |||
|
1528 | 1528 | for n in p |
|
1529 | 1529 | ] |
|
1530 | 1530 | |
|
1531 | def setparents(self, p1node, p2node=nullid): | |
|
1532 | dirstate = self._repo.dirstate | |
|
1533 | with dirstate.parentchange(): | |
|
1534 | copies = dirstate.setparents(p1node, p2node) | |
|
1535 | pctx = self._repo[p1node] | |
|
1536 | if copies: | |
|
1537 | # Adjust copy records, the dirstate cannot do it, it | |
|
1538 | # requires access to parents manifests. Preserve them | |
|
1539 | # only for entries added to first parent. | |
|
1540 | for f in copies: | |
|
1541 | if f not in pctx and copies[f] in pctx: | |
|
1542 | dirstate.copy(copies[f], f) | |
|
1543 | if p2node == nullid: | |
|
1544 | for f, s in sorted(dirstate.copies().items()): | |
|
1545 | if f not in pctx and s not in pctx: | |
|
1546 | dirstate.copy(None, f) | |
|
1547 | ||
|
1531 | 1548 | def _fileinfo(self, path): |
|
1532 | 1549 | # populate __dict__['_manifest'] as workingctx has no _manifestdelta |
|
1533 | 1550 | self._manifest |
@@ -1886,20 +1886,7 b' class localrepository(object):' | |||
|
1886 | 1886 | return self.vfs.reljoin(self.root, f, *insidef) |
|
1887 | 1887 | |
|
1888 | 1888 | def setparents(self, p1, p2=nullid): |
|
1889 | with self.dirstate.parentchange(): | |
|
1890 | copies = self.dirstate.setparents(p1, p2) | |
|
1891 | pctx = self[p1] | |
|
1892 | if copies: | |
|
1893 | # Adjust copy records, the dirstate cannot do it, it | |
|
1894 | # requires access to parents manifests. Preserve them | |
|
1895 | # only for entries added to first parent. | |
|
1896 | for f in copies: | |
|
1897 | if f not in pctx and copies[f] in pctx: | |
|
1898 | self.dirstate.copy(copies[f], f) | |
|
1899 | if p2 == nullid: | |
|
1900 | for f, s in sorted(self.dirstate.copies().items()): | |
|
1901 | if f not in pctx and s not in pctx: | |
|
1902 | self.dirstate.copy(None, f) | |
|
1889 | self[None].setparents(p1, p2) | |
|
1903 | 1890 | |
|
1904 | 1891 | def filectx(self, path, changeid=None, fileid=None, changectx=None): |
|
1905 | 1892 | """changeid must be a changeset revision, if specified. |
General Comments 0
You need to be logged in to leave comments.
Login now