SVN配置备忘

SVN配置备忘

首先,列出一些我认为重要的参考网站
1,主要介绍如何安装SVN以及一些ABCKnowledge
http://wiki.ubuntu.org.cn/SubVersion
2,一些操作实例
http://hi.baidu.com/kang_liang/blog/item/7d97ac604a6729d88cb10d1a.html/cmtid/6abe672b7a4cb9f7e7cd4064
http://www.net527.cn/a/caozuoxitong/Linux/7473.html

下面是我的一些备忘
1,给系统添加一个用户,这个用户和svn的登录用户不一样的,这个原理和samba的原理是一样的。
sudo adduser todd
输入密码,确认密码
如果想提升root权限的话,sudo usermod -G admin -a 用户名
2,安装svn和apache2是必须的,参考上面的网站
3,创建文件仓库的根目录,我强烈建议是svn,这样以后你可以直接在svn下划分子目录,比如
游戏的工作目录和网站的工作可以平行的独立开,如果一开始指向的就是svn/workspace,以后再
想改到svn下面就比较恼火了,总会遇到这样或那样的错误,我现在就是把web也划到workspace下面
去了,虽然勉强,但也没有办法了。
4,创建svn的用户,htpasswd -m /etc/subversion/passwd USER,如果是第一次创建用的是
htpasswd -c /etc/subversion/passwd USER,这样就会把用户名和密码生成到passwd文件中去了,到时候
也可以很方便的对已经创建好的用户进行分组管理权限了。
5,在/etc/subversion/的目录下面创建权限管理文件 authz,我一开始的时候权限管理文件是指向我工作目录
下面的一个authz,发现根本不好使,还是这样做比较科学。配置这个文件的格式如下:
[groups]
admin=allen
webguy=todd
[workspace:/]
*= r

[workspace:/Crash]
*=               #开始初始化所有人都无操作权限
@admin=rw
@webguy=rw

6,apache的配置文件
<Location /svn/workspace>                                    #注意这儿的目录,科学的讲应该是/svn的根目录

  # Uncomment this to enable the repository
  DAV svn

  # Set this to the path to your repository
  SVNPath /home/svn/workspace                              #要和上面保持一致
  AuthType Basic
  AuthName "workspace Subversion Repository"
  AuthUserFile /etc/subversion/passwd                        #这就是添加的svn用户名和密码,加密的
  # To enable authorization via mod_authz_svn
  AuthzSVNAccessFile /etc/subversion/authz              #这儿就是权限配置文件

  # The following three lines allow anonymous read, but make
  # committers authenticate themselves.  It requires the 'authz_user'
  # module (enable it with 'a2enmod').
  #<LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  #</LimitExcept>
</Location>
最后,就是经常在管理版本的时候遇到清理和锁定的问题,我查了很多资料,都没有找到好的方法,首先应该尽量避免提交二进制文件,都提交文本文件,一旦遇到锁定的问题后,就是把本地文件全部删除,重新从服务器上获取,虽然很土,但很实用,切忌要保证服务器的版本是最新的!!!

Most Important 常见错误:
Error1: Can’t open ‘/home/svn/db/txn-current-lock’: Permission denied
这种错误比较常见,而且一开始我一直以为是自己没有配置好认证权限的问题,我反复的配置1011两步,结果还是没解决,我在windows下用tortoiseSVN客户端一直无法commit和添加文件,老是弹出这个错误。可我在linux下可以用
#svn import …. 这个命令,我一直很纳闷,后来经过琢磨和上网搜索,终于解决。问题在于我的/home/svn目录下的一切子目录和文件都是属于root用户的,而我每次在linux下也是以root 用户import的,所以一直没有问题。可在windows从客户端访问就有问题了。
解决办法: /home/svn目录下的所有文件和子目录添加读写权限
#chmod  –R  o+rw  /home/svn
Okay, 问题解决。

你可能感兴趣的:(SVN配置备忘)