[BUG] 0.14 bzr add --dry-run: bzrlib.errors.InvalidEntryName: Invalid entry name: '\
Jari Aalto
jari.aalto at cante.net
Sat Jan 27 15:43:42 GMT 2007
John Arbash Meinel <john at arbash-meinel.com> writes:
> Jari Aalto wrote:
>> I happened to come accross a project that included a suspicous file names:
>>
>> $ ls -la
>> total 16
>> drwxr-sr-x 3 root src 176 2007-01-27 09:26 .
>> drwxr-sr-x 5 root src 120 2007-01-27 09:26 ..
>> -rw-r--r-- 1 root src 14 2007-01-27 09:26 '\
>> -rw-r--r-- 1 root src 47 2007-01-27 09:26 Maelstrom Sound
>> drwxr-sr-x 6 root src 240 2007-01-27 09:26 .svn
>> -rw-r--r-- 1 root src 89 2007-01-27 09:26 .tif
>> -rw-r--r-- 1 root src 40 2007-01-27 09:26 ".tif
>>
>
> This isn't because of '--dry-run'. This is because we don't let you add
> a file with '\' in it, but we do it rather late with an 'assert' rather
> than sanitizing it earlier.
>
> We've talked about reducing that restriction. We don't allow '/' in
> filenames for obvious reasons, at that time we also disallowed '\'. Part
> of that was because we weren't sanitizing paths yet (on win32 we need to
> convert '\' => '/')
>
> At this point, I'm pretty confident that any '\' in a filename is simply
> because it actually exists there on a non win32 platform.
>
> I don't think our data structures would have a terrible time with '\' in
> a filename, though I can see it getting really messed up on win32 (where
> we translate '\' => '/' in a lot of places).
>
> So:
>
> 1) At a minimum this should have a better error message.
> 2) We can look at supporting '\' in filenames. An initial guess would be
> to just remove the assert, but I have the feeling it is going to break
> other things later on. We also need to figure out how to make it clear
> why it is broken on win32, and how they can fix it. We have a similar
> need for symlinks (see the recent bug where we just fail because 'os'
> does not have the 'symlink' function).
Thanks,
Pick 2, but you might want to keep that assert under conditional to
test existence of win32 platform.
In *nix platform every filename except "/" is to my understanding
allowed.
Jari
More information about the bazaar
mailing list