bzr (linux) doesn't handle FAT's limitations (X-bit and symlinks) well. Should behave like on windows.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Wishlist
|
Unassigned | ||
Breezy |
Fix Released
|
Medium
|
Jelmer Vernooij |
Bug Description
Steps to reproduce:
create a repo on an ext filesystem, and do some stuff
copy it to a fat32 memory stick
watch bzr status think that everything's changed permissions.
add a symlink on the ext side, and do it again
watch bzr give a really unhelpful permission denied error.
This is what the chaps in #bzr think about the issue:
(11:49:27) lifeless: so the basic problem is, fat is returning garbage data, and we assume when the platform is unix that all fs's track X reasonably well
(11:49:39) lifeless: we have code to work around no X tracking but only activate it on windows
(11:49:42) lifeless: file a bug please
(11:50:04) lifeless: I suggest we add a a config setting/environment variable to force that workaround code on in this sort of situation
(11:50:43) Peng_: What about explicitly checking if the fs supports it?
(11:50:51) Peng_: Same way you do the CIFS checks?
(11:51:13) lifeless: Peng_: what CIFS checks
(11:51:23) lifeless: Peng_: do you mean the case insensitive ones?
(11:51:28) Peng_: Yeah.
(11:51:37) lifeless: we need either reference data or to write
(11:51:48) lifeless: its possible in principle
Related branches
- Martin Packman: Needs Fixing
-
Diff: 480 lines (+129/-45)13 files modifiedbreezy/bzr/dirstate.py (+15/-11)
breezy/bzr/workingtree.py (+11/-2)
breezy/bzr/workingtree_4.py (+6/-4)
breezy/git/memorytree.py (+1/-0)
breezy/git/tree.py (+8/-1)
breezy/git/workingtree.py (+11/-5)
breezy/osutils.py (+43/-2)
breezy/tests/per_workingtree/test_executable.py (+1/-1)
breezy/tests/per_workingtree/test_workingtree.py (+13/-7)
breezy/tests/test_osutils.py (+15/-0)
breezy/transform.py (+2/-3)
breezy/workingtree.py (+1/-9)
setup.py (+2/-0)
Changed in bzr: | |
status: | Triaged → Confirmed |
tags: | added: check-for-breezy |
Changed in brz: | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Jelmer Vernooij (jelmer) |
tags: | removed: check-for-breezy |
Changed in brz: | |
status: | In Progress → Fix Committed |
Changed in brz: | |
status: | Fix Committed → Fix Released |
milestone: | none → 3.1.0 |
There are a few OS level bugs that may be related to this one:, eg.
https:/ /bugs.launchpad .net/ubuntu/ +source/ gnome-mount/ +bug/178154
but checking whether your working tree supports chmod et al is still useful. See also:
https:/ /bugs.launchpad .net/bzr/ +bug/190725