Edited at

Subversion UTF8-MAC問題

More than 5 years have passed since last update.

以下のようにするだけで解決っていうからやってみたけど、濁点があるファイルはダメっぽい。

brew install subversion --unicode-path

以下で議論されてるみたいだけど、英語力が不足していて結論がわからない。

subversion: fix utf-8-mac encoding problem

subversion: no valid unicode-patch for 1.8.0

1.7系ならパッチがイケてるんジャマイカ感があるので、1.7を入れてみる。

一覧が出せるみたいなんでやってみる。

$ brew versions subversion

Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
https://github.com/Homebrew/homebrew-versions
1.8.5 git checkout bedb082 /usr/local/Library/Formula/subversion.rb
1.8.4 git checkout ce669eb /usr/local/Library/Formula/subversion.rb
1.8.3 git checkout 9b438ce /usr/local/Library/Formula/subversion.rb
1.8.0 git checkout f56b641 /usr/local/Library/Formula/subversion.rb
1.8.1 git checkout 55577bb /usr/local/Library/Formula/subversion.rb
1.7.10 git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb
1.7.9 git checkout b0e6223 /usr/local/Library/Formula/subversion.rb
1.7.8 git checkout f7a42d2 /usr/local/Library/Formula/subversion.rb
1.7.7 git checkout a6dcc41 /usr/local/Library/Formula/subversion.rb
1.7.6 git checkout 6b8d25f /usr/local/Library/Formula/subversion.rb
1.7.5 git checkout 5d5cd70 /usr/local/Library/Formula/subversion.rb
1.7.4 git checkout dc4245c /usr/local/Library/Formula/subversion.rb
1.7.3 git checkout eb97154 /usr/local/Library/Formula/subversion.rb
1.7.2 git checkout d89bf83 /usr/local/Library/Formula/subversion.rb
1.6.17 git checkout 6e2d550 /usr/local/Library/Formula/subversion.rb
1.6.16 git checkout 83ed494 /usr/local/Library/Formula/subversion.rb

なんか警告が出ているが気にせず1.7.10 を指名。

怒られた。

$ git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb

fatal: Not a git repository (or any of the parent directories): .git

gitコマンドを叩く場所が悪いらしいが、詳しいことは分からないgit弱者。

移動したらイケた。

$ cd /usr/local/Library/Formula

$ git checkout 0060dc3 /usr/local/Library/Formula/subversion.rb

しかし・・・?

$ brew install subversion --unicode-path

Error: No available formula for serf
Searching taps...

search で探してみると、気になる結果が。subversion17って?

$ brew search subversion

subversion
homebrew/versions/subversion16 homebrew/versions/subversion17

これですか・・・

Install a Specific Version of a Tool on OS X With Homebrew

tapってのを使うんすね。

これを使うと、公式以外のFORMULAを使えるようになるんだとか。

$ brew tap homebrew/versions

Cloning into '/usr/local/Library/Taps/homebrew-versions'...
remote: Counting objects: 1470, done.
remote: Compressing objects: 100% (881/881), done.
remote: Total 1470 (delta 805), reused 1204 (delta 589)
Receiving objects: 100% (1470/1470), 412.03 KiB | 279.00 KiB/s, done.
Resolving deltas: 100% (805/805), done.
Checking connectivity... done
Tapped 124 formula

It looks like you tapped a private repository
In order to not input your credentials every time
you can use git HTTP credential caching or issue the
following command:

cd /usr/local/Library/Taps/homebrew-versions
git remote set-url origin git@github.com:Homebrew/homebrew-versions.git

いざ。

$ brew install subversion17

==> Installing dependencies for subversion17: pkg-config, neon, scons
==> Installing subversion17 dependency: pkg-config
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/pkg-config-0.28.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring pkg-config-0.28.mavericks.bottle.2.tar.gz
? /usr/local/Cellar/pkg-config/0.28: 10 files, 604K
==> Installing subversion17 dependency: neon
==> Downloading http://www.webdav.org/neon/neon-0.30.0.tar.gz
######################################################################## 100.0%
==> Patching
patching file configure
==> ./configure --prefix=/usr/local/Cellar/neon/0.30.0 --enable-shared --disable-static --disable-nls --with-ssl
==> make install
==> Caveats
This formula is keg-only, so it was not symlinked into /usr/local.

Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Compiling newer versions of Subversion on 10.6 require this newer neon.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

LDFLAGS: -L/usr/local/opt/neon/lib
CPPFLAGS: -I/usr/local/opt/neon/include

==> Summary
? /usr/local/Cellar/neon/0.30.0: 178 files, 1.4M, built in 26 seconds
==> Installing subversion17 dependency: scons
==> Downloading http://downloads.sourceforge.net/scons/scons-2.3.0.tar.gz
######################################################################## 100.0%
==> /usr/bin/python setup.py install --prefix=/usr/local/Cellar/scons/2.3.0 --standalone-lib --install-lib=/usr/local/Cellar/scons/2.3.0/libexe
? /usr/local/Cellar/scons/2.3.0: 395 files, 4.2M, built in 13 seconds
==> Installing subversion17
==> Downloading http://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.7.13.tar.bz2
==> Best Mirror http://ftp.tsukuba.wide.ad.jp/software/apache/subversion/subversion-1.7.13.tar.bz2

curl: (22) The requested URL returned error: 404 Not Found
Trying a mirror...
==> Downloading http://archive.apache.org/dist/subversion/subversion-1.7.13.tar.bz2
######################################################################## 100.0%
==> Downloading http://serf.googlecode.com/files/serf-1.3.2.tar.bz2
######################################################################## 100.0%
==> scons PREFIX=/usr/local/Cellar/subversion17/1.7.13/libexec/serf GSSAPI=/usr CC=/usr/bin/clang CFLAGS=-Os -w -pipe -march=native -mmacosx-ve
==> scons install
==> ./configure --prefix=/usr/local/Cellar/subversion17/1.7.13 --with-apr=/usr/local/Library/ENV/4.3 --with-zlib=/usr --with-sqlite=/usr/local/
==> make
==> make install
==> make tools
==> make install-tools
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
? /usr/local/Cellar/subversion17/1.7.13: 11
2 files, 8.3M, built in 2.8 minutes
$

・・・と、ここで「--unicode-path」の指定を忘れていたことに気づいたのでやりなおし?

$ brew install --unicode-path subversion17

==> Downloading http://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.7.13.tar.bz2
Already downloaded: /Library/Caches/Homebrew/subversion17-1.7.13.tar.bz2
==> Downloading patches
######################################################################## 100.0%
==> Patching
patching file subversion/libsvn_subr/path.c
==> Downloading http://serf.googlecode.com/files/serf-1.3.2.tar.bz2
Already downloaded: /Library/Caches/Homebrew/subversion17--serf-1.3.2.tar.bz2
==> scons PREFIX=/usr/local/Cellar/subversion17/1.7.13/libexec/serf GSSAPI=/usr CC=/usr/bin/clang CFLAGS=-Os -w -pipe -march=native -mmacosx-ve
==> scons install
==> ./configure --prefix=/usr/local/Cellar/subversion17/1.7.13 --with-apr=/usr/local/Library/ENV/4.3 --with-zlib=/usr --with-sqlite=/usr/local/
==> make
==> make install
==> make tools
==> make install-tools
==> Caveats
This unicode-path version implements a hack to deal with composed/decomposed
unicode handling on Mac OS X which is different from linux and windows.
It is an implementation of solution 1 from
http://svn.collab.net/repos/svn/trunk/notes/unicode-composition-for-filenames
which _WILL_ break some setups. Please be sure you understand what you
are asking for when you install this version.

Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
? /usr/local/Cellar/subversion17/1.7.13: 112 files, 8.3M, built in 2.5 minutes

キタ━(゚∀゚)━!