快速上手 Linux 安装svn及其配置

第一步:快速上手 Linux 安装svn

安装:apt-get install subversion(apt-get安装)

安装 : yum install subversion(yum安装)

测试是否成功

svnserve –version

svnserve,版本 1.6.6 (r40053)
编译于 Dec 12 2009,05:04:54

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。

第二步:建立根目录
svnadmin create /backup/svn/newrepos

ls repos
conf/ dav/ db/ format hooks/ locks/ README.txt

测试一下
mkdir /test
vi /test/a.txt
输入 aaaaaa1

import导入文件

svn import /test file:///backup/svn/newrepos/some/project

svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the –message (-m) or –file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no ‘editor-cmd’ run-time configuration option was found
产生原因:

没有设置svn编辑器的环境变量,主要是import、commit中填写comment要用
解决方法:

编辑 /etc/bashrc 文件,加入如下一行:
export SVN_EDITOR=vim
温馨提示:

编辑完以后一般需要让配置文件立即生效,可执行命令:
source /etc/bashrc
启动SVN

锁定一个分支

svnserve -d -r /backup/svn/newrepos/ --listen-host 211.124.27.20

直接在所有SVN下得目录都起效,且不分域名

svnserve -d -r /backup/svn/

SVN mac系统在建立以后,不需要import东西进去直接checkout 就行了。

svn checkout svn://java-er.com/lxm/ lxm

然后就会checkout一个空目录,自己加东西 就好了。

svn add * --force

如何弹出vim让你写东西,别紧张,那是需要写一个注释,写完wq

但是在导入后,用来的目录树并没有转换成工作拷贝,为了开始工作,还是需要运行svn checkout导出一个工作拷贝。因为导入后,文件在版本库中是以特殊的形式存在db文件夹中的,不能以明文的方式查看。必须使用svn checkout导出工作副本(workcopy)才能以正常方式查看。

解惑:月小升初次看到file:// 这个结构以为是别人搞错了。file://这个模式以前在windows下老看见这路径,心想linux怎么会有这个东东,结构发现这个结构还就是SVN的用法。

服务器上执行的导入脚本

svn checkout file:///backup/svn/newrepos/some/project /workcopy

根目录下多了一个workcopy

成功了。

第三步:本地读取

本地试试直接命令行模式

svn checkout svn://211.124.27.20/  test

下载成功了。

第四步:密码

用户和密码的设置

#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd

注意:所有的行都必须顶格,否则报错。
建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容

修改配置文件passwd。

代码
[users]
yuexiaosheng = *******

authz文件控制权限

[groups]
admin = tom1,tom2,yuexiaosheng
[/]
@admin=rw
*=r

重启SVN

不输入密码读取下

svn checkout svn://211.124.27.20/ test1
Authentication realm: <svn://211.124.27.20:3690> 9d495645-ebf4-41af-b4cf-beee4fe0f067

显示没用权限。

带着用户登陆,需要这样写

svn --username=yuexiaosheng checkout svn://211.124.27.20/ test1

提示输入密码输入我的密码******

文件顺利下载了。

第五步

防火墙设置

svn默认端口是3690,你需要在防火墙上开放这个端口。

      /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT 
 
      /sbin/service iptables save

停止SVN服务器:killall svnserve


This entry was posted in Linux and tagged , , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/linux-svn/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.
2020.03.24 评论已经全局关闭,有事加QQ聊天