NFCFS and Bazaar
At the moment of this writing Bazaar does not seem to correctly handle international characters in file names. This might change in the future, the version of Bazaar used in the examples below is 2.0.1, if you have a later version, try the example below for yourself to see if it works.
Bazaar without NFCFS
Here's an example of trying to add a file with an international character in the file name to a Bazaar repository:
First, create a repository somewhere:
mkdir /tmp/bazaar cd /tmp/bazaar bzr init
Bazaar should respond with:
Created a standalone tree (format: 2a)
Now, create a file with an international character in the file name, and add it to the Bazaar repo:
touch ö.txt bzr add
Bazaar responds with:
adding "ö.txt"
So far so good, but when asking Bazaar for status using
bzr status
Bazaar will respond with
unknown: ö.txt
This is not correct, Bazaar does not seem to have added the file to the repository, and when asked for status does not recognize the file.
If I try to commit using
bzr commit -m "whatever"
Bazaar will respond with
Committing to: /private/tmp/bazaar/ missing ö.txt aborting commit write group: PointlessCommit(No changes to commit) bzr: ERROR: No changes to commit. Use --unchanged to commit anyhow.
failing to commit my new file. It seems like Bazaar does not realize the the file in the file system is the file I wanted to add.
Bazaar with NFCFS
Doing the same thing in a directory mounted using NFCFS works better:
First, create the repository and add the file as above:
mkdir /Volumes/nfcfs/bazaar cd /Volumes/nfcfs/bazaar bzr init touch ö.txt bzr add
When asking for status using
bzr status
Bazaar will now respond with
added: ö.txt
Which seems correct. The file can be committed using
bzr commit -m "whatever"
will result in
Committing to: /Volumes/nfcfs/bazaar/ added ö.txt Committed revision 1.
putting the file under version control as expected.
Version tested
The above example uses version 2.0.1 of Bazaar. More specifically,
typing bzr --version
prodcues the following output (line breaks inserted by me):
Bazaar (bzr) 2.0.1 Python interpreter: /opt/local/Library/Frameworks/Python.framework/ Versions/2.6/Resources/Python.app/Contents/MacOS/Python 2.6.4 Python standard library: /opt/local/Library/Frameworks/Python.framework/ Versions/2.6/lib/python2.6 Platform: Darwin-10.2.0-i386-64bit bzrlib: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/bzrlib Bazaar configuration: /Users/thomas/.bazaar Bazaar log file: /Users/thomas/.bzr.log Copyright 2005, 2006, 2007, 2008, 2009 Canonical Ltd. http://bazaar-vcs.org/ bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and you may use, modify and redistribute it under the terms of the GNU General Public License version 2 or later.