# HG changeset patch # User Yuya Nishihara # Date 2015-03-05 15:14:22 # Node ID 3cc630be5f09ab586e1ca3f015456fe5611e6333 # Parent 4e01b03325599864d91715808b56ac8245262415 dirstate: make sure rootdir ends with directory separator (issue4557) ntpath.join() of Python 2.7.9 does not work as expected if root is a UNC path to top of share. This patch doesn't take care of os.altsep, '/' on Windows, because root should be normalized by realpath(). diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -38,7 +38,12 @@ class dirstate(object): self._opener = opener self._validate = validate self._root = root - self._rootdir = os.path.join(root, '') + # ntpath.join(root, '') of Python 2.7.9 does not add sep if root is + # UNC path pointing to root share (issue4557) + if root.endswith(os.sep): + self._rootdir = root + else: + self._rootdir = root + os.sep self._dirty = False self._dirtypl = False self._lastnormaltime = 0