linux下安装svn,以及eclipse使用svn的各种问题

为了使用方便,在windows上安装了VisualSVN_Server作为svn服务器,但在eclipse中使用subversion的1.6和最新的1.8版本客户端都会偶尔出现server拒绝连接的情况。最后转到linux的svn服务器,较为稳定。安装过程及期间遇到的各种问题记录如下:

  • 安装svn sudo apt-get install subversion

  • 创建项目目录

    1
    2
    3
    sudo mkdir /home/svn/project
    cd /home/svn/
    sudo chmod -R 777 project/
  • 创建svn仓库

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sudo svnadmin create /home/svn/project

    drwxrwxrwx 6 root root 4096 114 14:54 ./
    drwxr-xr-x 3 root root 4096 114 13:59 ../
    drwxr-xr-x 2 root root 4096 116 14:46 conf/
    drwxr-sr-x 6 root root 4096 116 14:44 db/
    -r--r--r-- 1 root root 2 114 14:00 format
    drwxr-xr-x 2 root root 4096 114 14:00 hooks/
    drwxr-xr-x 2 root root 4096 114 14:00 locks/
    -rw-r--r-- 1 root root 229 114 14:00 README.txt
  • 设置权限

    • 编辑conf/svnserve.conf,打开anon-access = readauth-access = writepassword-db = passwd 。anon-access无需账户可以read,auth-access验证用户可以write,password-db需客户端输入密码(解决eclipse重新认证时的‘认证失败’问题)。

      同时注意删除C:\Documents and Settings\Administrator\AppData\Roaming\Subversion这个目录)

    • 编辑conf/passwd, 添加账户和密码, 比如

      1
      2
      3
      sumory = 123456
      user1 = 123456
      user2 = 123456
    • 编辑conf/authz, 设置访问权限如下, admin的值属于admin权限组,@admin=rw说明admin权限组可以读写

      1
      2
      admin = sumory,user1,user2
      @admin = rw
  • 启动svn服务

    svnserve -d -r /home/svn, -d表示以守护进程运行,-r指定文件系统根路径,这样客户端不用输入全路径即可访问,访问协议和地址为:svn://192.168.1.118/project