diff -r a39cec1d5cb8 -r 50252ea60549 mercurial/patch.py --- a/mercurial/patch.py Wed Jun 20 22:06:37 2007 +0200 +++ b/mercurial/patch.py Tue Jun 19 17:02:07 2007 +0200 @@ -298,13 +298,14 @@ args = [] patcher = ui.config('ui', 'patch') - patcher = ((patcher and util.find_exe(patcher)) or - util.find_exe('gpatch') or - util.find_exe('patch')) + if not patcher: + patcher = util.find_exe('gpatch') or util.find_exe('patch') + # Try to be smart only if patch call was not supplied + if util.needbinarypatch(): + args.append('--binary') + if not patcher: raise util.Abort(_('no patch command found in hgrc or PATH')) - if util.needbinarypatch(): - args.append('--binary') if cwd: args.append('-d %s' % util.shellquote(cwd))