CentOS 7.2 安装Subversion(SVN)
发布时间:2020-11-17 06:49:12 所属栏目:CentOS 来源:互联网
导读:subversion 简介 Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。 Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数
subversion 简介
subversion 安装
[root@linuxprobe~]# yum -y install subversion
[root@linuxprobe ~]# mkdir -p /var/svn/repos/project [root@linuxprobe ~]# svnadmin create /var/svn/repos/project # 创建源仓库 [root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/trunk -m "create" Committed revision 1. [root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/branches -m "create" # 创建分支 Committed revision 2. [root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/tags -m "create" # 创建标签 Committed revision 3.
[root@linuxprobe ~]# ll /home/project/ total 0 -rw-r--r-- 1 root root 0 Nov 1 11:57 index.go -rw-r--r-- 1 root root 0 Nov 1 11:57 index.html -rw-r--r-- 1 root root 0 Nov 1 11:57 index.php -rw-r--r-- 1 root root 0 Nov 1 11:58 index.py -rw-r--r-- 1 root root 0 Nov 1 11:58 info.php [root@linuxprobe ~]# svn import /home/project file:///var/svn/repos/project/trunk -m "initial import" Adding /home/project/index.html Adding /home/project/index.go Adding /home/project/index.php Adding /home/project/index.py Adding /home/project/info.php Committed revision 4. # 确认 [root@linuxprobe ~]# svn list file:///var/svn/repos/project/trunk index.go index.html index.php index.py info.php
# svn server 端 [root@linuxprobe ~]# systemctl start svnserve # svn client 端 [root@vdevops ~]# yum -y install svn [root@vdevops ~]# svn list svn://linuxprobe.org/repos/project branches/ tags/ trunk/ # 导出代码到本地 [root@vdevops ~]# svn checkout svn://linuxprobe.org/repos/project A project/tags A project/trunk A project/trunk/info.php A project/trunk/index.html A project/trunk/index.go A project/trunk/index.php A project/trunk/index.py A project/branches Checked out revision 4.
# svn server 端 [root@linuxprobe ~]# systemctl stop svnserve # svn client端 [root@vdevops ~]# svn list svn+ssh://root@linuxprobe.org/var/svn/repos/project root@linuxprobe.org's password: branches/ tags/ trunk/ subversion 访问控制
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/svnserve.conf # line 9: add (prohibit anonymous access) [general] anon-access = none # line 28: uncomment password-db = passwd # line 35: uncomment authz-db = authz [root@linuxprobe ~]# vi /var/svn/repos/project/conf/passwd # define username and password for this repository [users] shaon= password wang = password devops = password [root@linuxprobe ~]# vi /var/svn/repos/project/conf/authz # define groups and users [groups] developer = devops,wang # allow read/write on document root for developer group [/] @developer = rw # allow read on trunk folder for fedora user [/trunk] shaon = r
[root@vdevops trunk]# svn --username shaon list svn://linuxprobe.org/repos/project/trunk Authentication realm: <svn://linuxprobe.org:3690> LinuxProbe Repository Password for 'shaon': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <svn://linuxprobe.org:3690> LinuxProbe Repository # 仓库名称 can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted,if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? yes #记住密码 index.go index.html index.php index.py info.php Subversion : Windows 客户端
Subversion HTTP Access
[root@linuxprobe~]# yum -y install mod_dav_svn
[root@linuxprobe run]# vi /etc/httpd/conf.d/subversion.conf # create new <Location /project> DAV svn AuthType Basic AuthName "DAV SVN" AuthUserFile /var/svn/.svnpasswd Require valid-user SVNPath /var/svn/repos/project </Location> [root@linuxprobe run]# htpasswd -c /var/svn/.svnpasswd wang New password: Re-type new password: Adding password for user wang [root@linuxprobe run]# chown -R apache. /var/svn/repos [root@linuxprobe run]# systemctl restart httpd [root@linuxprobe run]# systemctl status httpd
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/authzsvn.conf # define group [groups] developer = wang,devops operator = shaon # everyone can Read access [/] * = r # only developer group can Read/Write under the trunk [project:/trunk] @developer = rw # only operator can Read/Write under the branches [project:/branches] @operator = rw # only operator can Read/Write under the tags [project:/tags] @operator = rw [root@linuxprobe~]# vi /etc/httpd/conf.d/subversion.conf <Location /project> DAV svn AuthType Basic AuthName "DAV SVN" AuthUserFile /var/svn/.svnpasswd Require valid-user SVNPath /var/svn/repos/project AuthzSVNAccessFile /var/svn/repos/project/conf/authzsvn.conf </Location> [root@linuxprobe ~]# systemctl restart httpd
[root@vdevops ~]# svn --username wang list http://linuxprobe.org/project Authentication realm: <http://linuxprobe.org:80> DAV SVN Password for 'wang': ----------------------------------------------------------------------- ATTENTION! Your password for authentication realm: <http://linuxprobe.org:80> DAV SVN can only be stored to disk unencrypted! You are advised to configure your system so that Subversion can store passwords encrypted,if possible. See the documentation for details. You can avoid future appearances of this warning by setting the value of the 'store-plaintext-passwords' option to either 'yes' or 'no' in '/root/.subversion/servers'. ----------------------------------------------------------------------- Store password unencrypted (yes/no)? no branches/ tags/ trunk/
(编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |