bzr add allows versioning of same files twice due to case-insensitive HFS+ filesystem on mac
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
High
|
Unassigned | ||
Breezy |
Triaged
|
Medium
|
Unassigned |
Bug Description
HFS+ on macs is case insensitve therefore it is possible for someone to run "bzr add foo" when Foo is already versioned. As "foo" is reported as a valid file bzr tries to version this also. The problem occurs when someone tries to update as the file-system can't tell the difference between the foo + Foo as it treats them the same.
This manifests itself as the following error when running "bzr update":
bzr: ERROR: [Errno 66] Directory not empty
Proposed solution would be for bzr to do a case-insensitive check on what is versioned before allowing a file to be added. This could be applied only for macs OR better still available in the configuration and "on" by default for macs. This would be just in case other mac developers are using bzr on a HFS+ partition with case-sensitivity turned on.
Changed in bzr: | |
status: | Triaged → Confirmed |
tags: | added: case-sensitivity |
tags: | added: mac |
tags: | added: check-for-breezy |
tags: | removed: check-for-breezy |
Changed in brz: | |
status: | New → Triaged |
importance: | Undecided → Medium |
We could perhaps try to autodetect if a HFS+ partition is case-insensitive by calling getattrlist(2) and looking for ATTR_CMN_NAME, as suggested by Martin v. Löwis at http:// www.thescripts. com/forum/ thread441007. html. It's not wrapped, but we could probably use ctypes for it if it's available.