はじめに
このドキュメントでは,MacOS X 10.10.5(Yosemite)にて,svnをインストールする手順を説明する.事前に確認してなかったので,Subversion 1.7が入っている状態に現時点での最新版のSubversion 1.9.3をインストールし,エラーが発生したので両方をアンインストールした上で,再度セットアップを実施した.
現在の環境
mba2014:~ ujpadmin$ uname -a Darwin mba2014.local 14.5.0 Darwin Kernel Version 14.5.0: Mon Jan 11 18:48:35 PST 2016; root:xnu-2782.50.2~1/RELEASE_X86_64 x86_64 mba2014:~ ujpadmin$ mba2014:~ ujpadmin$ sw_vers ProductName: Mac OS X ProductVersion: 10.10.5 BuildVersion: 14F1713 mba2014:~ ujpadmin$
HomeBrewにてsvnを検索.
mba2014:~ ujpadmin$ brew search svn colorsvn cvs2svn git-svn-abandon svn Caskroom/cask/svnx mba2014:~ ujpadmin$
いくつか検索された模様.
brew info svnで詳細を把握
svnのバージョンを調べる.インストール前でもinfoコマンドを使えば調べられる.
mba2014:~ ujpadmin$ brew info svn subversion: stable 1.9.3 (bottled) Version control system designed to be a better CVS https://subversion.apache.org/ Not installed From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/subversion.rb ==> Dependencies Build: pkg-config ✔, scons ✔ Required: sqlite ✔, openssl ✔ Optional: gpg-agent ✘ ==> Options --universal Build a universal binary --with-gpg-agent Build with support for GPG Agent --with-java Build Java bindings --with-perl Build Perl bindings --with-python Build with python support --with-ruby Build Ruby bindings ==> Caveats svntools have been installed to: /usr/local/opt/subversion/libexec mba2014:~ ujpadmin$
stable 1.9.3 (bottled)だとわかる.svntoolsは /usr/local/opt/subversion/libexecにインストールされる様である.
インストールの実施
mba2014:~ ujpadmin$ brew install svn ==> Downloading https://homebrew.bintray.com/bottles/subversion-1.9.3.yosemite.bottle.1.tar.gz ######################################################################## 100.0% ==> Pouring subversion-1.9.3.yosemite.bottle.1.tar.gz Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink etc/bash_completion.d/subversion Target /usr/local/etc/bash_completion.d/subversion is a symlink belonging to subversion17. You can unlink it: brew unlink subversion17
To force the link and overwrite all conflicting files: brew link --overwrite subversion
To list all files that would be deleted: brew link --overwrite --dry-run subversion
Possible conflicting files are: /usr/local/etc/bash_completion.d/subversion -> /usr/local/Cellar/subversion17/1.7.14_1/etc/bash_completion.d/subversion /usr/local/bin/svn -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svn /usr/local/bin/svnadmin -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnadmin /usr/local/bin/svndumpfilter -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svndumpfilter /usr/local/bin/svnlook -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnlook /usr/local/bin/svnrdump -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnrdump /usr/local/bin/svnserve -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnserve /usr/local/bin/svnsync -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnsync /usr/local/bin/svnversion -> /usr/local/Cellar/subversion17/1.7.14_1/bin/svnversion /usr/local/include/subversion-1/mod_authz_svn.h /usr/local/include/subversion-1/mod_dav_svn.h /usr/local/include/subversion-1/svn-revision.txt /usr/local/include/subversion-1/svn_auth.h /usr/local/include/subversion-1/svn_base64.h /usr/local/include/subversion-1/svn_cache_config.h /usr/local/include/subversion-1/svn_checksum.h /usr/local/include/subversion-1/svn_client.h /usr/local/include/subversion-1/svn_cmdline.h /usr/local/include/subversion-1/svn_compat.h /usr/local/include/subversion-1/svn_config.h /usr/local/include/subversion-1/svn_ctype.h /usr/local/include/subversion-1/svn_dav.h /usr/local/include/subversion-1/svn_delta.h /usr/local/include/subversion-1/svn_diff.h /usr/local/include/subversion-1/svn_dirent_uri.h /usr/local/include/subversion-1/svn_dso.h /usr/local/include/subversion-1/svn_error.h /usr/local/include/subversion-1/svn_error_codes.h /usr/local/include/subversion-1/svn_fs.h /usr/local/include/subversion-1/svn_hash.h /usr/local/include/subversion-1/svn_io.h /usr/local/include/subversion-1/svn_iter.h /usr/local/include/subversion-1/svn_md5.h /usr/local/include/subversion-1/svn_mergeinfo.h /usr/local/include/subversion-1/svn_nls.h /usr/local/include/subversion-1/svn_opt.h /usr/local/include/subversion-1/svn_path.h /usr/local/include/subversion-1/svn_pools.h /usr/local/include/subversion-1/svn_props.h /usr/local/include/subversion-1/svn_quoprint.h /usr/local/include/subversion-1/svn_ra.h /usr/local/include/subversion-1/svn_ra_svn.h /usr/local/include/subversion-1/svn_repos.h /usr/local/include/subversion-1/svn_sorts.h /usr/local/include/subversion-1/svn_string.h /usr/local/include/subversion-1/svn_subst.h /usr/local/include/subversion-1/svn_time.h /usr/local/include/subversion-1/svn_types.h /usr/local/include/subversion-1/svn_user.h /usr/local/include/subversion-1/svn_utf.h /usr/local/include/subversion-1/svn_version.h /usr/local/include/subversion-1/svn_wc.h /usr/local/include/subversion-1/svn_xml.h /usr/local/include/subversion-1/mod_authz_svn.h /usr/local/include/subversion-1/mod_dav_svn.h /usr/local/include/subversion-1/svn-revision.txt /usr/local/include/subversion-1/svn_auth.h /usr/local/include/subversion-1/svn_base64.h /usr/local/include/subversion-1/svn_cache_config.h /usr/local/include/subversion-1/svn_checksum.h /usr/local/include/subversion-1/svn_client.h /usr/local/include/subversion-1/svn_cmdline.h /usr/local/include/subversion-1/svn_compat.h /usr/local/include/subversion-1/svn_config.h /usr/local/include/subversion-1/svn_ctype.h /usr/local/include/subversion-1/svn_dav.h /usr/local/include/subversion-1/svn_delta.h /usr/local/include/subversion-1/svn_diff.h /usr/local/include/subversion-1/svn_dirent_uri.h /usr/local/include/subversion-1/svn_dso.h /usr/local/include/subversion-1/svn_error.h /usr/local/include/subversion-1/svn_error_codes.h /usr/local/include/subversion-1/svn_fs.h /usr/local/include/subversion-1/svn_hash.h /usr/local/include/subversion-1/svn_io.h /usr/local/include/subversion-1/svn_iter.h /usr/local/include/subversion-1/svn_md5.h /usr/local/include/subversion-1/svn_mergeinfo.h /usr/local/include/subversion-1/svn_nls.h /usr/local/include/subversion-1/svn_opt.h /usr/local/include/subversion-1/svn_path.h /usr/local/include/subversion-1/svn_pools.h /usr/local/include/subversion-1/svn_props.h /usr/local/include/subversion-1/svn_quoprint.h /usr/local/include/subversion-1/svn_ra.h /usr/local/include/subversion-1/svn_ra_svn.h /usr/local/include/subversion-1/svn_repos.h /usr/local/include/subversion-1/svn_sorts.h /usr/local/include/subversion-1/svn_string.h /usr/local/include/subversion-1/svn_subst.h /usr/local/include/subversion-1/svn_time.h /usr/local/include/subversion-1/svn_types.h /usr/local/include/subversion-1/svn_user.h /usr/local/include/subversion-1/svn_utf.h /usr/local/include/subversion-1/svn_version.h /usr/local/include/subversion-1/svn_wc.h /usr/local/include/subversion-1/svn_xml.h /usr/local/share/man/man1/svn.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svn.1 /usr/local/share/man/man1/svnadmin.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svnadmin.1 /usr/local/share/man/man1/svndumpfilter.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svndumpfilter.1 /usr/local/share/man/man1/svnlook.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svnlook.1 /usr/local/share/man/man1/svnrdump.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svnrdump.1 /usr/local/share/man/man1/svnsync.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svnsync.1 /usr/local/share/man/man1/svnversion.1 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man1/svnversion.1 /usr/local/share/man/man5/svnserve.conf.5 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man5/svnserve.conf.5 /usr/local/share/man/man8/svnserve.8 -> /usr/local/Cellar/subversion17/1.7.14_1/share/man/man8/svnserve.8 /usr/local/lib/libsvn_client-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_client-1.0.dylib /usr/local/lib/libsvn_client-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_client-1.a /usr/local/lib/libsvn_client-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_client-1.dylib /usr/local/lib/libsvn_delta-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_delta-1.0.dylib /usr/local/lib/libsvn_delta-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_delta-1.a /usr/local/lib/libsvn_delta-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_delta-1.dylib /usr/local/lib/libsvn_diff-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_diff-1.0.dylib /usr/local/lib/libsvn_diff-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_diff-1.a /usr/local/lib/libsvn_diff-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_diff-1.dylib /usr/local/lib/libsvn_fs-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs-1.0.dylib /usr/local/lib/libsvn_fs-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs-1.a /usr/local/lib/libsvn_fs-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs-1.dylib /usr/local/lib/libsvn_fs_fs-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_fs-1.0.dylib /usr/local/lib/libsvn_fs_fs-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_fs-1.a /usr/local/lib/libsvn_fs_fs-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_fs-1.dylib /usr/local/lib/libsvn_fs_util-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_util-1.0.dylib /usr/local/lib/libsvn_fs_util-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_util-1.a /usr/local/lib/libsvn_fs_util-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_fs_util-1.dylib /usr/local/lib/libsvn_ra-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra-1.0.dylib /usr/local/lib/libsvn_ra-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra-1.a /usr/local/lib/libsvn_ra-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra-1.dylib /usr/local/lib/libsvn_ra_local-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_local-1.0.dylib /usr/local/lib/libsvn_ra_local-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_local-1.a /usr/local/lib/libsvn_ra_local-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_local-1.dylib /usr/local/lib/libsvn_ra_serf-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_serf-1.0.dylib /usr/local/lib/libsvn_ra_serf-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_serf-1.a /usr/local/lib/libsvn_ra_serf-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_serf-1.dylib /usr/local/lib/libsvn_ra_svn-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_svn-1.0.dylib /usr/local/lib/libsvn_ra_svn-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_svn-1.a /usr/local/lib/libsvn_ra_svn-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_ra_svn-1.dylib /usr/local/lib/libsvn_repos-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_repos-1.0.dylib /usr/local/lib/libsvn_repos-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_repos-1.a /usr/local/lib/libsvn_repos-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_repos-1.dylib /usr/local/lib/libsvn_subr-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_subr-1.0.dylib /usr/local/lib/libsvn_subr-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_subr-1.a /usr/local/lib/libsvn_subr-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_subr-1.dylib /usr/local/lib/libsvn_wc-1.0.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_wc-1.0.dylib /usr/local/lib/libsvn_wc-1.a -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_wc-1.a /usr/local/lib/libsvn_wc-1.dylib -> /usr/local/Cellar/subversion17/1.7.14_1/lib/libsvn_wc-1.dylib ==> Caveats svntools have been installed to: /usr/local/opt/subversion/libexec
Bash completion has been installed to: /usr/local/etc/bash_completion.d ==> Summary 🍺 /usr/local/Cellar/subversion/1.9.3: 148 files, 11.1M mba2014:~ ujpadmin$
インストールされたとあるが,以下の様なエラーがでている.
Error: The `brew link` step did not complete successfully
実際svntoolsファイルができていない.
mba2014:~ ujpadmin$ ls -la /usr/local/opt/subversion/libexec ls: /usr/local/opt/subversion/libexec: No such file or directory mba2014:~ ujpadmin$
順番が逆になってしまったが,現在インストールされているパッケージの一覧を表示する.
mba2014:~ ujpadmin$ brew list atk harfbuzz pango scons cairo hicolor-icon-theme pcre sl curl htop-osx pixman sqlite fontconfig icu4c pkg-config subversion freetype jpeg pstree subversion17 gdbm libevent py2cairo tmux gdk-pixbuf libffi pygobject tree gettext libpng pygtk vim glib libtiff python watch gobject-introspection ngrep readline wget gtk+ openssl rlwrap zsh mba2014:~ ujpadmin$
subversionとsubversion17が入っている.取り急ぎ,インストールに失敗したsubversionを消す.
mba2014:~ ujpadmin$ brew remove svn Uninstalling /usr/local/Cellar/subversion/1.9.3... (148 files, 11.1M) mba2014:~ ujpadmin$
消えたことを確認する.
mba2014:~ ujpadmin$ brew list atk harfbuzz pango scons cairo hicolor-icon-theme pcre sl curl htop-osx pixman sqlite fontconfig icu4c pkg-config subversion17 freetype jpeg pstree tmux gdbm libevent py2cairo tree gdk-pixbuf libffi pygobject vim gettext libpng pygtk watch glib libtiff python wget gobject-introspection ngrep readline zsh gtk+ openssl rlwrap mba2014:~ ujpadmin$
リストからsubversinoが消え,subversion17が残っていることが確認できる.subversion17も削除する.
mba2014:~ ujpadmin$ brew remove subversion17 Uninstalling /usr/local/Cellar/subversion17/1.7.14_1... (296 files, 8.5M) mba2014:~ ujpadmin$
リストから消えたか確認する.
mba2014:~ ujpadmin$ brew list atk harfbuzz pango scons cairo hicolor-icon-theme pcre sl curl htop-osx pixman sqlite fontconfig icu4c pkg-config tmux freetype jpeg pstree tree gdbm libevent py2cairo vim gdk-pixbuf libffi pygobject watch gettext libpng pygtk wget glib libtiff python zsh gobject-introspection ngrep readline gtk+ openssl rlwrap mba2014:~ ujpadmin$
消えていた.
再度svnをインストールする
mba2014:~ ujpadmin$ brew install svn ==> Downloading https://homebrew.bintray.com/bottles/subversion-1.9.3.yosemite.bottle.1.tar.gz Already downloaded: /Library/Caches/Homebrew/subversion-1.9.3.yosemite.bottle.1.tar.gz ==> Pouring subversion-1.9.3.yosemite.bottle.1.tar.gz ==> Caveats svntools have been installed to: /usr/local/opt/subversion/libexec
Bash completion has been installed to: /usr/local/etc/bash_completion.d ==> Summary 🍺 /usr/local/Cellar/subversion/1.9.3: 148 files, 11.1M mba2014:~ ujpadmin$
先ほどより短時間で終了.ダウンロードがないからか.パッケージリストを確認.
A0146:~ ujpadmin$ brew list atk harfbuzz pango scons cairo hicolor-icon-theme pcre sl curl htop-osx pixman sqlite fontconfig icu4c pkg-config subversion freetype jpeg pstree tmux gdbm libevent py2cairo tree gdk-pixbuf libffi pygobject vim gettext libpng pygtk watch glib libtiff python wget gobject-introspection ngrep readline zsh gtk+ openssl rlwrap mba2014:~ ujpadmin$
インストールされていることを確認.先ほどでx来ていなかったディレクトリとファイルを確認する.
mba2014:~ ujpadmin$ ls -la /usr/local/opt/subversion/libexec total 496 drwxr-xr-x 7 ujpadmin admin 238 12 8 16:53 . drwxr-xr-x 13 ujpadmin admin 442 4 11 11:20 .. -rwxr-xr-x 1 ujpadmin admin 37348 4 11 11:20 mod_authz_svn.so -rwxr-xr-x 1 ujpadmin admin 182608 4 11 11:20 mod_dav_svn.so -rwxr-xr-x 1 ujpadmin admin 28004 4 11 11:20 mod_dontdothat.so drwxr-xr-x 4 ujpadmin admin 136 12 8 16:53 serf drwxr-xr-x 13 ujpadmin admin 442 12 8 16:53 svn-tools mba2014:~ ujpadmin$
svntoolsではなく,svn-toolsというディレクトリの模様.中身を確認しておく.
mba2014:~ ujpadmin$ ls -la /usr/local/opt/subversion/libexec/svn-tools/ total 544 drwxr-xr-x 13 ujpadmin admin 442 12 8 16:53 . drwxr-xr-x 7 ujpadmin admin 238 12 8 16:53 .. -rwxr-xr-x 1 ujpadmin admin 21808 4 11 11:20 diff -rwxr-xr-x 1 ujpadmin admin 22084 4 11 11:20 diff3 -rwxr-xr-x 1 ujpadmin admin 21452 4 11 11:20 diff4 -rwxr-xr-x 1 ujpadmin admin 27400 4 11 11:20 fsfs-access-map lrwxr-xr-x 1 ujpadmin admin 18 12 8 16:53 svn-bench -> ../../bin/svnbench -rwxr-xr-x 1 ujpadmin admin 30420 4 11 11:20 svn-populate-node-origins-index -rwxr-xr-x 1 ujpadmin admin 40616 4 11 11:20 svnauthz -rwxr-xr-x 1 ujpadmin admin 40616 4 11 11:20 svnauthz-validate lrwxr-xr-x 1 ujpadmin admin 17 12 8 16:53 svnmucc -> ../../bin/svnmucc -rwxr-xr-x 1 ujpadmin admin 27420 4 11 11:20 svnraisetreeconflict -rwxr-xr-x 1 ujpadmin admin 22772 4 11 11:20 x509-parser mba2014:~ ujpadmin$
コマンドが色々と入っている模様.
infoコマンドで状態を確認
brew infoコマンドでインストール後の状態がどの様になっているか確認する.
mba2014:~ ujpadmin$ brew info svn subversion: stable 1.9.3 (bottled) Version control system designed to be a better CVS https://subversion.apache.org/ /usr/local/Cellar/subversion/1.9.3 (148 files, 11.1M) * Poured from bottle From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/subversion.rb ==> Dependencies Build: pkg-config ✔, scons ✔ Required: sqlite ✔, openssl ✔ Optional: gpg-agent ✘ ==> Options --universal Build a universal binary --with-gpg-agent Build with support for GPG Agent --with-java Build Java bindings --with-perl Build Perl bindings --with-python Build with python support --with-ruby Build Ruby bindings ==> Caveats svntools have been installed to: /usr/local/opt/subversion/libexec
Bash completion has been installed to: /usr/local/etc/bash_completion.d mba2014:~ ujpadmin$
infoコマンドでsvnとしているけれど,subversionとするとどうなるのか確認.
mba2014:~ ujpadmin$ brew info subversion subversion: stable 1.9.3 (bottled) Version control system designed to be a better CVS https://subversion.apache.org/ /usr/local/Cellar/subversion/1.9.3 (148 files, 11.1M) * Poured from bottle From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/subversion.rb ==> Dependencies Build: pkg-config ✔, scons ✔ Required: sqlite ✔, openssl ✔ Optional: gpg-agent ✘ ==> Options --universal Build a universal binary --with-gpg-agent Build with support for GPG Agent --with-java Build Java bindings --with-perl Build Perl bindings --with-python Build with python support --with-ruby Build Ruby bindings ==> Caveats svntools have been installed to: /usr/local/opt/subversion/libexec
Bash completion has been installed to: /usr/local/etc/bash_completion.d mba2014:~ ujpadmin$
同じものが表示された.
Counter: 6611,
today: 4,
yesterday: 7
最終更新: 2016-04-11 (月) 20:19:05 (JST) (2935d) by shinnai(shinnai)