[Pkg-bazaar-commits] ./bzr/unstable r972: - less dodgy is_inside function

Martin Pool mbp at sourcefrog.net
Fri Apr 10 08:21:38 UTC 2009


------------------------------------------------------------
revno: 972
committer: Martin Pool <mbp at sourcefrog.net>
timestamp: Sat 2005-07-23 10:59:30 -0300
message:
  - less dodgy is_inside function
modified:
  bzrlib/osutils.py
-------------- next part --------------
=== modified file 'bzrlib/osutils.py'
--- a/bzrlib/osutils.py	2005-07-23 00:18:14 +0000
+++ b/bzrlib/osutils.py	2005-07-23 13:59:30 +0000
@@ -150,20 +150,18 @@
     """
     # XXX: Most callers of this can actually do something smarter by 
     # looking at the inventory
-    
-    dir = dir.split(os.sep)
-    pl = len(dir)
-    fname = fname.split(os.sep)
-   
-    return (len(fname) >= pl) and (dir == fname[:pl])
-    
+
+    if dir == fname:
+        return True
+    
+    if dir[-1] != os.sep:
+        dir += os.sep
+    
+    return fname.startswith(dir)
+
 
 def is_inside_any(dir_list, fname):
     """True if fname is inside any of given dirs."""
-    # quick scan for perfect match
-    if fname in dir_list:
-        return True
-    
     for dirname in dir_list:
         if is_inside(dirname, fname):
             return True



More information about the Pkg-bazaar-commits mailing list