[issue2456] Update fails if subrepo path conflicts with older file path
Tim Henigan
bugs at mercurial.selenic.com
Wed Oct 27 20:21:45 UTC 2010
New submission from Tim Henigan <tim.henigan at gmail.com>:
If I have a repo like this:
parent/
lib/
file.py
and later commit a series of changes to:
1) Remove all files under 'lib' folder
2) Create a new subrepo at 'lib'
then I can no longer update to a changeset prior to the existence of the
subrepo. If I try, the update fails with the following error:
"abort: path 'lib/test.txt' is inside repo 'lib'"
This also corrupts the repo. Before the operation is aborted both the
.hgsub and .hgsubstate files are removed from the filesystem. When I
attempt an "hg update" to restore them, that operation also fails with this
error:
"/path/to/repo/.hgsub: The system cannot find the file specified"
Performing:
'hg cat -r tip .hgsub > .hgsub'
'hg cat -r tip .hgsubstate > .hgsubstate'
gets the repo back into a working state, but was not immediately obvious.
I attached a very simple example repo which demonstrates the problem.
Simply try to 'hg update -r 1' from the tip.
I am running Mercurial version 1.6.3 on Windows XP.
----------
files: subrepo_test.bundle
messages: 14174
nosy: thenigan
priority: bug
status: unread
title: Update fails if subrepo path conflicts with older file path
topic: subrepo, subrepositories
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2456>
____________________________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: subrepo_test.bundle
Type: application/octet-stream
Size: 1287 bytes
Desc: not available
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20101027/2b1df2b5/attachment.obj>
More information about the Mercurial-devel
mailing list