[BUG] bzr 0.8 add on Unicode filename fails

John Arbash Meinel john at arbash-meinel.com
Tue Jun 27 20:17:42 BST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Whitley wrote:
> John Arbash Meinel wrote:
>> This is a bug in cygwin python.
> 
> Thanks for the info.  I did some digging; this page may be useful to
> folks in my situation:
>    http://www.okisoft.co.jp/esc/utf8-cygwin/
> 
> The author has modified key cygwin packages (notably cygwin1.dll and a
> few others
> that don't depend on cygwin1.dll) to use utf-8.  There's also a
> sitecustomize.py to beat
> python into shape.  I'll give this a try and report back.  If it seems
> to go allright, then I'll do a writeup in the wiki for other Cygwin
> users who need utf-8 compatibility.
> 
> Failing that, then I may just have to use win32 python and create a zsh
> wrapper for bzr that automatically maps cygwin paths to win32 paths. 
> Maybe I can even get the zsh completion engine to do this for me...
> 
> Thanks,
> John

Well, don't forget there is 'cygpath' which is an executable which will
map for you. (You can use cygpath -w to get the windows path).

However, unless you are doing absolute paths, bzr accepts forward
slashed paths without any problem.

On my machine I just have a 'bzr.bat' which is:

@echo off
set BZR_PLUGIN_PATH=h:\dev\bzr\plugins
C:\Python24\python H:\dev\bzr\bzr.dev\bzr %*

the BZR_PLUGIN_PATH is just so that cygwin and win32 use the same plugin
paths. (And I prefer an exposed dir, since I modify plugins a lot).

Obviously your paths may vary, but this works well for me.

Also, you may want to realize that utf8 doesn't really work with
cmd.exe. It might work with rtv, or something like that. But windows
code pages are a little bit funky.
In my brief test, cygwin doesn't detect the codepage properly (win32
says cp437, cygwin says US-ASCII).

If you can get it to work, then certainly write it up.

But also be forewarned that you have to be very careful with
redistributing cygwin1.dll. It is a GPL not LGPL library. So if you
distribute it, you have to distribute all of its sources. And everything
that you have linked against it.
The general statement from the cygwin mailing list is "don't do that,
let people download it themselves".
Also, cygwin gets real unhappy if more than one cygwin dll exists on a
system. So there can be a lot of gotchas.

But if you can make it work, I'd be happy to hear it.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEoYRWJdeBCYSNAAMRAk/CAJ45k6wjq6o1TkSk0hR4JKcAaexhzgCfY6Bi
zFCiSR7fOLuKzZwY+qPWrxk=
=JZ//
-----END PGP SIGNATURE-----




More information about the bazaar mailing list