Linux安装SVN

yum -y install subversion mod_dav_svn


mkdir /data/svn

svnadmin create /data/svn/test  \\新建test仓库

svn import /data/svn/test/ file:///data/svn/test -message \\初始化test目录


vim /data/svn/test/conf/svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz


vim /data/svn/test/conf/passwd

添加svn用户,如:

test = test@123

test1 = 123qwe  \\username = password


vim /data/svn/test/conf/authz

[groups]

admin = test  \\groupname = test,test1多个用户以逗号隔开


[test:/]  \\testsvn名称 冒号后面的/代表根目录下所有

@admin = rw \\引用上面定义的组,需要在前面加@,后面为权限

test1 = rw \\如是用户 直接输入即可,后面为权限



svnserve -d -r /data/svn/  \\启动svn



vim /etc/httpd/httpd.conf

添加:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


\\底端加入

<VirtualHost *:80>

    DocumentRoot /data/svn

    ErrorLog    logs/svn_error.log

    CustomLog   logs/svn_access.log common

    <Directory "/data/svn/">

        Options FollowSymLinks

        AllowOverride ALL

        Order allow,deny

        Allow from All

    </Directory>

<Location /svn>

    DAV svn

    SVNParentPath /data/svn

    AuthType Basic

    AuthName "Test_SVN"

    AuthUserFile /data/svn/test/conf/apache_passwd

    AuthzSVNAccessFile /data/svn/test/conf/authz

    Require valid-user

</Location>

</VirtualHost>


cd /usr/lib64/httpd/modules/

cp mod_dav_svn.so mod_authz_svn.so /usr/local/apache2/modules/


/usr/local/apache2/bin/htpasswd -dc /data/svn/test/conf/apache_passwd test


chown -R daemon.daemon /data/svn  \\daemon为apache用户

chmod 755 /data/svn/test/conf/*

/usr/local/apache2/bin/apachectl restart

访问:http://IP/svn/test


后续如果需要在test根目录下新建其他目录,操作步骤:

mkdir /data/svn/test/dirname

svn import /data/svn/test/dirname/ file:///data/svn/test/dirname -message

vim /data/svn/test/conf/authz \\添加test1对该目录有读写权限

[test:/dirname]

test1 = rw

:wq!

即时生效

访问:http://IP/svn/test/dirname


svn常用操作

svn co svn://10.0.0.75/test  \\checkout test目录至本地

svn up  \\更新svn数据

svn update -r 5 文件或目录名  \\还原文件或目录至第5版本

cp ~/test ./  && svn add test/ && svn commit -m “备注”  \\添加test目录

svn mkdir test  && svn commit -m “备注”  \\添加test目录

svn status  \\查看当前目录下的所有文件或目录的状态,也可再后面跟某个文件或目录名,正常为不显示

[?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定]

svn status -v  \\第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人

svn log   \\查看当前目录下所有文件或目录日志,后面也可以指定具体文件或目录名称

svn info  \\查看目录详细信息,后面也可以指定具体目录名称

svn diff -r 5:10  \\比较文件或目录第5版本和第10版本差异,后面也可以指定具体文件或目录名称

svn merge -r 5:10 filename  \\合并5版本和10版本之间的差异到当前文件

svn list  \\查看test版本库下的文件和目录

svn lock -m “备注”filename  && svn unlock filename  \\加锁/解锁(针对文件)

svn delete test && svn ci -m “备注” \\删除test目录

本文出自 “、矿泉水” 博客,请务必保留此出处http://guwenqiang.blog.51cto.com/5462040/1568963

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。