Unix and Win32 incompatibilities in filenames
John Yates
jyates at netezza.com
Mon Aug 27 16:31:04 BST 2007
> unix $ bzr ci fle-with-:-colon.txt
> win32 $ bzr pulll
> ... oops, the OS will not allow storing the file
>
> Perhaps this issue is already dealt in bzr. I would assume that
> encoding filenames properly with HEX for special characters ensures
> that the repository will work (if moved from Unix to Windows).
I would much prefer a scheme allowing project intentions to be declared
and enforced via properties attached to branches. If a project expects
developers to work in disparate environments it would be very nice to be
able to capture that intention and to have bzr help avoid nasty surprises.
As a matter of design I prefer an intentional formulation:
file-system-behavior = Unix \
Windows \
Macintosh
to a more operational formulation:
file-system-behavior = case-insensitive \
ban('\') \
ban('/') \
ban(':') \
ban('*') \
ban('?') \
ban('"') \
ban('<') \
ban('>') \
ban('|') \
unicode-nfd
But either would be an improvement.
There could well be a place for operational elements. A project might
want to forbid names with embedded spaces as a matter of policy.
Perhaps the forthcoming pre_commit hooks will make something like this
possible.
/john
More information about the bazaar
mailing list