安装软件包:
sudo apt-get install subversion
之后选择SVN服务文件及配置文件的放置位置。我放在了/srv下的svn目录。
cd /srv
sudo mkdir svn
我的svn版本仓库叫tone_src
cd /srv/svn
sudo mkdir tone_src
目录建好后 创建版本仓库
sudo svnadmin create /srv/svn/tone_src
执行之后 tone_src下文件结构如下:
tone@ubuntu:/srv/svn/tone_src$ ls -l
总用量 24
drwxr-xr-x 2 root root 4096 1月 15 10:52 conf
drwxr-sr-x 6 root root 4096 1月 15 14:52 db
-r--r--r-- 1 root root 2 1月 15 10:50 format
drwxr-xr-x 2 root root 4096 1月 15 10:50 hooks
drwxr-xr-x 2 root root 4096 1月 15 10:50 locks
-rw-r--r-- 1 root root 246 1月 15 10:50 README.txt
下面进行配置:
我们需要修改conf目录下的三个文件,authz;passwd;svnserve.conf
编辑svnserve.conf
[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
编辑authz 制定管理员组 即admin组的用户为tone admin组有rw(读写权限) 所有人有r(读权限)
[groups]
admin= tone
[/]
@admin =rw
*=r
这里组的名字 不一定叫admin 你的管理员组名 可以叫做任意的名字,另外比如admin组还有其他用户,可以这样制定 admin=tone,tone1,tone2 类似这样的写法
编制passwd 文件 设定用户密码
[users]
# harry = harryssecret
# sally = sallyssecret
tone=www
tone的密码为www 对 没看错 明文的。
以上都做完之后,就可以开启你的svn服务器了。
sudo svnserve -d -r /erv/svn/
-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径 就可以访问版本库了
例如:svn://127.0.0.1/tone_src
值得注意的是 我这里是用sudo 启动的 因为之前的svn目录 及tone_src目录 我都是在sudo下创建的。目录的所属权限都是root
如果我以 下面的方式启动 是可以的 但是当客户段提交文件的时候 会出问题,因为此时的svnserve 服务对svn版本库目录没有写的权限
svnserve -d -r /erv/svn/
推荐一个14.04 下的svn 客户端
$ sudo add-apt-repository ppa:rabbitvcs/ppa
$ sudo apt-get update
$ sudo apt-get install rabbitvcs-nautilus3
# Optional
$ sudo apt-get install rabbitvcs-gedit
$ sudo apt-get install rabbitvcs-cli
对于eclipse 客户端的用户,需要安装 subclipse 插件。安装插件时注意客户端的版本和服务端的版本一定要对应好,最好不要考虑兼容,最好就是准确对应,
截至到目前Ubuntu 14.04 下Subversion 的版本是1.8.8 与他对应的subclipse版本是1.10.8
另外还要用到javahl的版本为1.8.8
具体安装配置如下:
下安装 配置subclipse1.10.8本版 http://subclipse.tigris.org/files/documents/906/49397/site-1.10.8.zip
下载后解压 得到一个名为site-1.10.8 的文件夹 请将site-1.10.8放到eclipse 目录下的dropins目录内,重启eclipse
重启之后subclipse1.10.8 就应该可以安装完成了,如果没有成功,检查看文件夹的权限。或者以clean 模式再次启动eclipse
subclipse 安装完成后 就会出现 org.apache.subversion.javahl.clientexception:svn..... 这样的错误
这是因为没有安装javahl 请执行 如下命令进行安装。
sudo apt-get install libsvn-java
安装完毕之后进行一个小的配置,
先查找 javahl所在路径
sudo find /usr -name libsvnjavahl-1.so
结果显示路径在/usr/lib/x86_64-linux-gnu/jni
修改eclipse.ini 增加 一行-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
Ubuntu升级到12.04以后,JavaHL Library的位置由原来/usr/lib/jni改为了/usr/lib/x86_64-linux-gnu/jni
14.04 也是在/usr/lib/x86_64-linux-gnu/jni
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Djava.library.path=/usr/lib/x86_64-linux-gnu/jni
-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/commonTools/xulrunner
-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
这样启动eclipse 后 就能使用svn了