changeset 4086:cc8a52229620

Fix accessing the repo through a symlink.
author Jun Inoue <jun.lambda@gmail.com>
date Thu, 15 Feb 2007 05:18:23 -0200
parents ef14fdb675da
children 587c6c652f82
files mercurial/util.py tests/test-symlink-root tests/test-symlink-root.out
diffstat 3 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -363,6 +363,9 @@ def canonpath(root, cwd, myname):
             except OSError:
                 break
             if samestat(name_st, root_st):
+                if not rel:
+                    # name was actually the same as root (maybe a symlink)
+                    return ''
                 rel.reverse()
                 name = os.path.join(*rel)
                 audit_path(name)
new file mode 100755
--- /dev/null
+++ b/tests/test-symlink-root
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+hg init a
+ln -s a link
+cd a
+echo foo > foo
+hg status
+hg status ../link
new file mode 100644
--- /dev/null
+++ b/tests/test-symlink-root.out
@@ -0,0 +1,2 @@
+? foo
+? foo