mercurial/patch.py
changeset 4644 50252ea60549
parent 4516 96d8a56d4ef9
child 4659 7a7d4937272b
--- 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))