changeset 4383:28054fc34923

Merge with crew
author Brendan Cully <brendan@kublai.com>
date Sat, 28 Apr 2007 09:03:47 -0700
parents 8c2a18cc3096 (diff) e89f9afc462b (current diff)
children caaba589d9c7
files mercurial/commands.py
diffstat 2 files changed, 26 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Fri Apr 27 21:30:55 2007 -0700
+++ b/mercurial/commands.py	Sat Apr 28 09:03:47 2007 -0700
@@ -1550,7 +1550,7 @@
                     p2 = repo.lookup(p2)
                     if p1 == wp[0].node():
                         repo.dirstate.setparents(p1, p2)
-                except RepoError:
+                except hg.RepoError:
                     pass
 
             files = {}
--- a/mercurial/util_win32.py	Fri Apr 27 21:30:55 2007 -0700
+++ b/mercurial/util_win32.py	Sat Apr 28 09:03:47 2007 -0700
@@ -297,5 +297,30 @@
             win32file.SetEndOfFile(self.handle)
         except pywintypes.error, err:
             raise WinIOError(err)
+            
+def find_in_path(name, path, default=None):
+    '''find name in search path. path can be string (will be split
+    with os.pathsep), or iterable thing that returns strings.  if name
+    found, return path to name. else return default. name is looked up
+    using cmd.exe rules, using PATHEXT.'''
+    if isinstance(path, str):
+        path = path.split(os.pathsep)
+        
+    pathext = os.environ.get('PATHEXT', '.COM;.EXE;.BAT;.CMD')
+    pathext = pathext.lower().split(os.pathsep)
+    isexec = os.path.splitext(name)[1].lower() in pathext
+    
+    for p in path:
+        p_name = os.path.join(p, name)
+        
+        if isexec and os.path.exists(p_name):
+            return p_name
+        
+        for ext in pathext:
+            p_name_ext = p_name + ext
+            if os.path.exists(p_name_ext):
+                return p_name_ext
+            
+    return default
 
 getuser_fallback = win32api.GetUserName