git_handler: properly handle paths when files converge filectx.renamed() returns a 2-tuple or None. memfilectx.__init__ expects the copied argument to be either None or a string. Before, we were passing a 2-tuple, leading to the memfilectx storing the wrong type. This eventually resulted in doing a key lookup against a manifest with a 2-tuple, which made manifest.c throw an error.
overlaychangectx: use overlayrevlog logic to determine parents The old logic was broken -- it didn't work at the boundary between hg and git commits. The logic in overlayrevlog.parents handles that correctly. This is the last fix required for Mercurial 3.4.