diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -293,11 +293,13 @@ def patch(patchname, ui, strip=1, cwd=No """patch and updates the files and fuzz variables""" fuzz = False - patcher = util.find_in_path('gpatch', os.environ.get('PATH', ''), - 'patch') args = [] - if util.needbinarypatch(): - args.append('--binary') + patcher = ui.config('ui', 'patch') + if not patcher: + patcher = util.find_in_path('gpatch', os.environ.get('PATH', ''), + 'patch') + if util.needbinarypatch(): + args.append('--binary') if cwd: args.append('-d %s' % util.shellquote(cwd))