У меня была такая же проблема при переносе моего проекта, CartoType, из Subversion в Mercurial. Я проверил материал Subversion в C: \ CartoType и клон репозитория Mercurial в C: \ CartoType-mercurial.
Я использовал TortoiseSVN для создания унифицированных файлов diff и обнаружил, что в них используются пути типа C: /CartoType/src/main/router/cartotype_router.h. Запустив hg patch в C: \ CartoType-mercurial, я обнаружил, что правильно сделать, чтобы убрать два элемента с пути, таким образом:
hg patch -p2 c:\temp\patch1982.diff
Другая важная вещь, которую мне нужно было сделать, это заменить строки 'Index' в файле diff на комментарии о регистрации, потому что именно здесь hg patch их получает. Так что в этом примере мне пришлось изменить первую строку моего файла различий с
Index: C:/CartoType/src/main/router/cartotype_router.h
до
Added an optional parameter to NewRoadOrWalkingRouter... (etc.)
Если в файле diff несколько строк индекса, измените их все на один и тот же комментарий для регистрации.