equal
deleted
inserted
replaced
140 if dirname == name: |
140 if dirname == name: |
141 break |
141 break |
142 name = dirname |
142 name = dirname |
143 |
143 |
144 raise util.Abort(_("%s not under root '%s'") % (myname, root)) |
144 raise util.Abort(_("%s not under root '%s'") % (myname, root)) |
|
145 |
|
146 def normasprefix(path): |
|
147 '''normalize the specified path as path prefix |
|
148 |
|
149 Returned vaule can be used safely for "p.startswith(prefix)", |
|
150 "p[len(prefix):]", and so on. |
|
151 |
|
152 For efficiency, this expects "path" argument to be already |
|
153 normalized by "os.path.normpath", "os.path.realpath", and so on. |
|
154 |
|
155 See also issue3033 for detail about need of this function. |
|
156 |
|
157 >>> normasprefix('/foo/bar').replace(os.sep, '/') |
|
158 '/foo/bar/' |
|
159 >>> normasprefix('/').replace(os.sep, '/') |
|
160 '/' |
|
161 ''' |
|
162 d, p = os.path.splitdrive(path) |
|
163 if len(p) != len(os.sep): |
|
164 return path + os.sep |
|
165 else: |
|
166 return path |