Changing case of directory in windows confuses bzr
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Medium
|
Unassigned | ||
Breezy |
Triaged
|
Medium
|
Unassigned |
Bug Description
I looked at similar bugs but I'm not expert enough to know if this is a duplicate or a new case, so I'll leave that up to you, dear developers, to decide. I realise the below is a strange thing to do, but through a combination of chance and inexperience I did exactly this in my project. This is with bzr 1.7rc1. This is present in version 1.5 also. If you do the below with a directory name that differs by more than just case, the problem does not occur. Similarly, this behaves as expected under Linux. In those cases, when doing the second commit, you will see a message "deleting old/" or whatever the first directory name was.
This simple case shows the problem:-
C:\Documents and Settings\johncc\My Documents>mkdir Test
C:\Documents and Settings\johncc\My Documents>cd Test
C:\Documents and Settings\johncc\My Documents\Test>bzr init
Standalone tree (format: pack-0.92)
Location:
branch root: .
C:\Documents and Settings\johncc\My Documents\
C:\Documents and Settings\johncc\My Documents\
C:\Documents and Settings\johncc\My Documents\Test>bzr add old
added old
added old/Test1.txt
C:\Documents and Settings\johncc\My Documents\Test>bzr commit -m First
Committing to: C:/Documents and Settings/johncc/My Documents/Test/
added old
added old/Test1.txt
Committed revision 1.
C:\Documents and Settings\johncc\My Documents\Test>move old tmp
1 file(s) moved.
C:\Documents and Settings\johncc\My Documents\Test>move tmp Old
1 file(s) moved.
C:\Documents and Settings\johncc\My Documents\Test>bzr st
removed:
old/
old/Test1.txt
unknown:
Old/
C:\Documents and Settings\johncc\My Documents\Test>bzr add --no-recurse Old
added Old
C:\Documents and Settings\johncc\My Documents\Test>bzr mv --after old\Test1.txt Old\Test1.txt
old/Test1.txt => Old/Test1.txt
C:\Documents and Settings\johncc\My Documents\Test>bzr commit -m Second
Committing to: C:/Documents and Settings/johncc/My Documents/Test/
added Old
renamed old/Test1.txt => Old/Test1.txt
Committed revision 2.
C:\Documents and Settings\johncc\My Documents\Test>bzr st
removed:
old/
C:\Documents and Settings\johncc\My Documents\Test>bzr commit -m Third
Committing to: C:/Documents and Settings/johncc/My Documents/Test/
bzr: ERROR: no changes to commit. use --unchanged to commit anyhow
tags: | added: case-sensitivity |
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
It would be good to try again with bzr 2.0+ I think around the 1.16 cycle or so, we had a round of case-sensitivity improvements.