[Bug 5818] New: Abort: path 'lib/app.py' traverses symbolic link 'lib' on ArchLinux
mercurial-bugs at mercurial-scm.org
mercurial-bugs at mercurial-scm.org
Thu Mar 15 00:54:08 UTC 2018
https://bz.mercurial-scm.org/show_bug.cgi?id=5818
Bug ID: 5818
Summary: Abort: path 'lib/app.py' traverses symbolic link 'lib'
on ArchLinux
Product: Mercurial
Version: 4.5.2
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: bug
Priority: wish
Component: Mercurial
Assignee: bugzilla at mercurial-scm.org
Reporter: alain.leufroy at gmail.com
CC: mercurial-devel at mercurial-scm.org
On ArchLinux (and maybe others) `/lib` is a symbolic link.
This breaks mercurial when the repository contains a folder named `lib` in the
repository root.
Here how you can reproduce the bug:
cd /tmp
# !!!!!!!!!! clean up things for the test !!!!!!!!!!!!!!!!
rm -r lib lib_ repo
# Create a symbolic link that will cause troubles
mkdir lib_
ln -s lib_ lib
# Create a repository with a similar structure than /tmp/lib â tmp/lib
# In my case, I just have a directory named `lib`.
hg init repo
cd repo
mkdir -p tmp/lib
touch tmp/lib/a
hg add tmp/lib/a
hg ci -m 'a'
# Prepare something to rebase
touch tmp/lib/b
hg add tmp/lib/b
hg ci -m 'b'
hg up .^
touch tmp/lib/c
hg add tmp/lib/c
hg ci -m 'c'
# The following fails with
# "abort: path 'tmp/lib/b' traverses symbolic link 'tmp/lib'"
# because of matchmod.match('/', '', [path + '/'], default=b'relpath')
# in mercurial/context.py(2143)
hg rebase -s 1 -d .
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list