相信每一个Linuxer在编译安装开源软件时,都曾被烦人的各种烦人的库依赖困扰过。而svn的编译安装更是让人吐槽无力。。。
今天折腾了大半天,才终于让svn正常运作起来。为了弥补不太充足的大脑存储空间,这里对安装及配置过程做一下记录,以备不时只需,也为需要的童鞋们提供个参考。
特别是遇到过以下问题的同学:
1. Unrecognized URL scheme
2. 每次都要输入用户名和/或密码。
一、 准备工作:
首先自然是下载并解压svn的源代码。之后再编译安装前,需要准备以下库/工具:
1. apr 这里用的是apr-1.5.1
编译:./configure --prefix=/usr/local/apr && make && make install
2. apr-utils 这里用的是apr-util-1.5.3
编译:./configure --prefix=/usr/local/apr && make && make install
2. serf 这个库提供的是对http和https协议的支持。值得说明的是,1.8版本之前这里依赖的是neon,1.8之后改成了serf。这里用的是serf-1.2.1
编译:./configure --prefix=/usr/local/serf && make && make install
3. sqlite-amalgamation,这个比较特殊了,因为是直接用他的源文件,且需要放到正确的路径。下载地址:http://www.sqlite.org/snapshot/sqlite-amalgamation-201404281756.zip
将代码解压到svn源代码目录根目录下,并命名为sqlite-amalgamation
二、编译安装:
有了以上准备工作,编译只需指定正确的参数即可
.configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
make && make install
三、配置:
1. 用户名和密码的保存
编辑~/.subversion/config,找到store-passwords = no,将其以#注释掉,或者将no改为yes
#store-passwords = no
或
store-passwords = yes
找到store-auth-creds = no,修改方法同上
2. 更改本地用户名
如果需要更改本地已保存的svn帐号,只需删除.subversion目录下的auth目录
rm -rf ~/.subversion/auth
这时再执行与svn有交互的命令(如svn ls),就会提示输入帐户名及密码。输过之后,新的账户就被保存下来了。