status and commit uses different algorithms to find changes
Alexander Belchenko
bialix at ukr.net
Wed Oct 8 14:02:57 BST 2008
Hi John,
Once not so while ago we talked in IRC and I said that it's to sad that commit don't use
working tree's iter_changes() method to collect changes for commit. As I remember you
said that it's not true and in reality commit uses it.
I can show use case where commit behaves differently than status in the same tree:
C:\Temp\stvsci>bzr init
Standalone tree (format: pack-0.92)
Location:
branch root: .
C:\Temp\stvsci>bzr mkdir foo
added foo
C:\Temp\stvsci>bzr st
added:
foo/
C:\Temp\stvsci>rmdir foo
C:\Temp\stvsci>bzr st
C:\Temp\stvsci>mkdir FOO
C:\Temp\stvsci>bzr st
unknown:
FOO/
C:\Temp\stvsci>bzr ci -m1
Committing to: C:/Temp/stvsci/
added foo
Committed revision 1.
C:\Temp\stvsci>bzr st
removed:
foo/
unknown:
FOO/
So, commit actually collect changes not via iter_changes, or uses iter_changes data incorrectly.
I think there is already bug report filed about case-insensitive filesystems and maybe even not one,
but IMHO problem not in case-insensitive filesystem. Bug in commit's collector code.
More information about the bazaar
mailing list