##// END OF EJS Templates
Fix workingctx exec/link bit of copies on non-supporting systems
Patrick Mezard -
r5407:d7e7902b default
parent child Browse files
Show More
@@ -426,9 +426,11 b' class workingctx(changectx):'
426 """generate a manifest corresponding to the working directory"""
426 """generate a manifest corresponding to the working directory"""
427
427
428 man = self._parents[0].manifest().copy()
428 man = self._parents[0].manifest().copy()
429 is_exec = util.execfunc(self._repo.root, man.execf)
430 is_link = util.linkfunc(self._repo.root, man.linkf)
431 copied = self._repo.dirstate.copies()
429 copied = self._repo.dirstate.copies()
430 is_exec = util.execfunc(self._repo.root,
431 lambda p: man.execf(copied.get(p,p)))
432 is_link = util.linkfunc(self._repo.root,
433 lambda p: man.linkf(copied.get(p,p)))
432 modified, added, removed, deleted, unknown = self._status[:5]
434 modified, added, removed, deleted, unknown = self._status[:5]
433 for i, l in (("a", added), ("m", modified), ("u", unknown)):
435 for i, l in (("a", added), ("m", modified), ("u", unknown)):
434 for f in l:
436 for f in l:
@@ -482,7 +484,8 b' class workingctx(changectx):'
482 return ''
484 return ''
483
485
484 pnode = self._parents[0].changeset()[0]
486 pnode = self._parents[0].changeset()[0]
485 node, flag = self._repo.manifest.find(pnode, path)
487 orig = self._repo.dirstate.copies().get(path, path)
488 node, flag = self._repo.manifest.find(pnode, orig)
486 is_link = util.linkfunc(self._repo.root, lambda p: 'l' in flag)
489 is_link = util.linkfunc(self._repo.root, lambda p: 'l' in flag)
487 is_exec = util.execfunc(self._repo.root, lambda p: 'x' in flag)
490 is_exec = util.execfunc(self._repo.root, lambda p: 'x' in flag)
488 try:
491 try:
General Comments 0
You need to be logged in to leave comments. Login now