comparison mercurial/util.py @ 4232:0d51eb296fb9

Merge with crew-stable
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 16 Mar 2007 00:45:18 -0300
parents b5d1eaade333 c93562fb12cc
children da6b14877195
comparison
equal deleted inserted replaced
4224:2a8b6d78d7ee 4232:0d51eb296fb9
323 res += re.escape(c) 323 res += re.escape(c)
324 return head + res + tail 324 return head + res + tail
325 325
326 _globchars = {'[': 1, '{': 1, '*': 1, '?': 1} 326 _globchars = {'[': 1, '{': 1, '*': 1, '?': 1}
327 327
328 def pathto(n1, n2): 328 def pathto(root, n1, n2):
329 '''return the relative path from one place to another. 329 '''return the relative path from one place to another.
330 root should use os.sep to separate directories
330 n1 should use os.sep to separate directories 331 n1 should use os.sep to separate directories
331 n2 should use "/" to separate directories 332 n2 should use "/" to separate directories
332 returns an os.sep-separated path. 333 returns an os.sep-separated path.
334
335 If n1 is a relative path, it's assumed it's
336 relative to root.
337 n2 should always be relative to root.
333 ''' 338 '''
334 if not n1: return localpath(n2) 339 if not n1: return localpath(n2)
340 if os.path.isabs(n1):
341 if os.path.splitdrive(root)[0] != os.path.splitdrive(n1)[0]:
342 return os.path.join(root, localpath(n2))
343 n2 = '/'.join((pconvert(root), n2))
335 a, b = n1.split(os.sep), n2.split('/') 344 a, b = n1.split(os.sep), n2.split('/')
336 a.reverse() 345 a.reverse()
337 b.reverse() 346 b.reverse()
338 while a and b and a[-1] == b[-1]: 347 while a and b and a[-1] == b[-1]:
339 a.pop() 348 a.pop()