[issue2593] windows case-folding collision after rebase

Joel B. Mohler bugs at mercurial.selenic.com
Fri Jan 14 15:37:37 UTC 2011


New submission from Joel B. Mohler <joel at kiwistrawberry.us>:

If one changeset includes a directory rename which only changes the case of
directory name and this is followed by a rebase, items with both the old and
new case appear in the repository.  This results in a case-folding collision
in windows and, furthermore, the rebased changeset includes file additions
which it should not.

Here is an example windows batch file and the comments at the bottom
indicate the specific issues.

mkdir case1
cd case1
call hg init
mkdir SubDIR
touch SubDIR\a.txt
call hg addremove
call hg commit -m "added file in silly-cased subdir"
cd ..

call hg clone case1 case2
cd case2
touch b.txt
call hg addremove
call hg commit -m "add aux file"
cd ..

cd case1
REM Do an interim rename to temp since windows ignores renames only changing
case
mv SubDIR temp
mv temp SubDir
call hg rename -A SubDIR SubDir
call hg commit -m "re-cased sub directory"
cd ..

REM This rebase does not do a good thing, it makes the "add aux file"
changeset add SubDIR\a.txt
call hg -R case2 pull --rebase

REM bang, case-folding collision because of the incorrect rebase above
call hg clone case2 case3

----------
messages: 14914
nosy: jbmohler
priority: bug
status: unread
title: windows case-folding collision after rebase

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2593>
____________________________________________________


More information about the Mercurial-devel mailing list