# HG changeset patch # User Bryan O'Sullivan # Date 2012-09-14 19:08:17 # Node ID 9ee25d7b1aed5f131ac9c242b938f113e7acb58b # Parent 83785bb5606291e679d9a868d4a3bede152c34fd util: implement a faster os.path.split for posix systems This is not yet used. diff --git a/mercurial/posix.py b/mercurial/posix.py --- a/mercurial/posix.py +++ b/mercurial/posix.py @@ -20,6 +20,16 @@ expandglobs = False umask = os.umask(0) os.umask(umask) +def split(p): + '''Same as os.path.split, but faster''' + ht = p.rsplit('/', 1) + if len(ht) == 1: + return '', p + nh = ht[0].rstrip('/') + if nh: + return nh, ht[1] + return ht + def openhardlinks(): '''return true if it is safe to hold open file handles to hardlinks''' return True diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -62,6 +62,7 @@ setflags = platform.setflags setsignalhandler = platform.setsignalhandler shellquote = platform.shellquote spawndetached = platform.spawndetached +split = platform.split sshargs = platform.sshargs statfiles = platform.statfiles termwidth = platform.termwidth diff --git a/mercurial/windows.py b/mercurial/windows.py --- a/mercurial/windows.py +++ b/mercurial/windows.py @@ -20,6 +20,7 @@ samedevice = win32.samedevice samefile = win32.samefile setsignalhandler = win32.setsignalhandler spawndetached = win32.spawndetached +split = os.path.split termwidth = win32.termwidth testpid = win32.testpid unlink = win32.unlink