Comment 1 for bug 102935

Revision history for this message
Horst Gutmann (zerok) wrote :

Just some observations under MacOSX with a custom bash and coreutils (to get at least some UTF-8 support in there ;-))

---------------------------------------------------------------------
zerok@akira:~/tmp/test$ echo $SHELL
/opt/sw/bin/bash
zerok@akira:~/tmp/test$ $SHELL --version
GNU bash, version 3.2.0(1)-release (powerpc-apple-darwin8.8.0)
Copyright (C) 2005 Free Software Foundation, Inc.
zerok@akira:~/tmp/test$ echo $LC_ALL
en_US.UTF-8
zerok@akira:~/tmp/test$ gls -a
. ..
zerok@akira:~/tmp/test$ gtouch "æøÜÉ"
zerok@akira:~/tmp/test$ gls -a
. .. æøÜÉ
zerok@akira:~/tmp/test$ bzr init
zerok@akira:~/tmp/test$ bzr add
added "æøÜÉ"
zerok@akira:~/tmp/test$ gls -a
. .. .bzr æøÜÉ
zerok@akira:~/tmp/test$ bzr commit -m "test"
added æøÜÉ
Committed revision 1.
zerok@akira:~/tmp/test$ echo "test" >> "æøÜÉ"
zerok@akira:~/tmp/test$ gls -a
. .. .bzr æøÜÉ
zerok@akira:~/tmp/test$ bzr status
removed:
  æøÜÉ
unknown:
  æøÜÉ
zerok@akira:~/tmp/test$ bzr diff
=== removed file '\xc3\xa6\xc3\xb8\xc3\x9c\xc3\x89'
---------------------------------------------------------------------

The difference in the filenames (removed vs. unknown) is not visible in the terminal. There both look like the first one.

hg somehow manages the same situation and also seems to stay workable on a more or less similarly configured Linux box.

---------------------------------------------------------------------
zerok@akira:~/tmp/test$ gtouch "æøÜÉ"
zerok@akira:~/tmp/test$ hg init
zerok@akira:~/tmp/test$ hg add
adding æøÜÉ
zerok@akira:~/tmp/test$ hg commit
zerok@akira:~/tmp/test$ gls -a
. .. .hg æøÜÉ
zerok@akira:~/tmp/test$ echo "test" >> "æøÜÉ"
zerok@akira:~/tmp/test$ hg status
M æøÜÉ
zerok@akira:~/tmp/test$ hg --version
Mercurial Distributed SCM (version 0.9.4)

Copyright (C) 2005-2007 Matt Mackall <email address hidden> and others
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
zerok@akira:~/tmp/test$
---------------------------------------------------------------------

---------------------------------------------------------------------
zerok@galaxy:~/tmp/test$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
zerok@galaxy:~/tmp/test$ ls -a
. .. æøÜÉ .hg
---------------------------------------------------------------------

(Note: galaxy had version 0.9.3 of hg (with python 2.4.4) running while this test was conducted, akira was on hg 0.9.4 with python 2.5.1)

At least when I look at this output it seems like hg is uniformly expanding the characters (similar to what the coreutils do) while bzr operates on two different names.

I hope this is useful.