yum -y install subversion
rpm -qa subversion
mkdir -p /application/svndata --->数据存储根目录
mkdir -p /application/svnpasswd --->用户,密码权限目录
创建一个新的Subversion项目yunjisuan,其实,类似yunjisuan这样的项目可以创建多个,每个项目对应不同的代码,这里只是以创建一个项目为例演示:
svnadmin create /application/svndata/yunjisuan
tree /application/svndata/yunjisuan/ --->没有tree则需要yum安装
cd /application/svndata/yunjisuan/conf/
ls
cp svnserve.conf{,.bak}
vim svnserve.conf
12 anon-access = none #禁止匿名访问
13 auth-access = write #验证访问可写
20 password-db = /application/svnpasswd/passwd #密码文件位置
27 authz-db = /application/svnpasswd/authz #验证文件位置
cp /application/svndata/yunjisuan/conf/authz /application/svnpasswd/
cp /application/svndata/yunjisuan/conf/passwd /application/svnpasswd/
ll /application/svnpasswd/
svnserve -d -r /application/svndata/
netstat -antup | grep 3690
解决svnserve启动时的警告问题
source /etc/sysconfig/i18n --->启用中文字符集
cat /etc/sysconfig/i18n
svnserve -d -r /application/svndata/ --->有中文字符集启动没有警告了
vim /application/svnpasswd/passwd
在/application/svnpasswd/passwd文件末尾追加内容
tail -4 /application/svnpasswd/passwd
egrep -v “#|^$” /application/svnpasswd/authz
vim /application/svnpasswd/authz
编辑authz配置文件进行授权,在authz末尾加入以下几句代码
[aliases]
[groups]
sagroup = stu001,stu002 #新增本行,定义组名
[yunjisuan:/] #定义授权的范围
yunjisuan = rw #用户单独授权
benet = r #用户单独授权
@sagroup = r #组用户授权
ps -ef | grep svn
kill 1029
ps -ef | grep svn
svnserve -d -r /application/svndata/
svn://192.168.200.135/yunjisuan
选择右键菜单里的SVN Checkout,出现下图:
如果连接不通,请检查Linux虚拟机的iptables是否关闭
点击OK后,出现下图:
再次点击OK以后,结束。此时目录里多了一个隐藏的目录,表示此目录已经和svn服务器连通
(1)SVN Checkout:相当于下载,第一次连接svn服务器的时候需要和服务器的对应存储目录进行数据同步,如果服务器的对应目录里有数据文件,那么就会下载到你的本地对应目录里。
(2)SVN Update:更新数据,检查服务器端svn存储目录里是否和本地svn存储目录数据不一致,如果不一致,那么下载改变或新增的部分到本地svn目录里。(不会删除本地目录内容)
(3)SVN Commit:提交数据到svn服务器端存储目录。本地svn存储目录会和服务器端存储目录进行比对校验。会把本地改变的部分和新增的部分同步上传至服务器端。
向windows的svn存储目录data里放一个空文件
右键点击data目录,选择SVN Commit
打开本地data目录里的文件,随便写点内容后,再次进行SVN commit
直接从本地查看服务器端的数据内容
右键点击本地svn存储目录data,选择TortoiseSVN ===>Repo-browser后出现下图
双击文件可以直接远程打开文件,可以看到里面刚刚被修改后的内容已经更新至服务器端。
删除本地svn存储目录data里的文件,后选择SVN Update
会发现,刚刚删除的文件又重新下载回来了。
继续删除本地svn存储目录data里的文件,后选择SVN Commit
svn checkout(co) remotepath localpath
mkdir yunjisuan
cd yunjisuan/
svn co svn://192.168.200.69/yunjisuan/ /root/yunjisuan/ --username=benet --password=123123
svn list file:///application/svndata/yunjisuan
一次失败的提交
pwd
mkdir [1..5]
ll
svn add * --->提交前需要先把要提交的内容做标记A(相当于windows上勾对号)
svn ci -m "message" --->提交时需要同时-m指定一段话作为备注
换账户重新Checkout
svn co svn://192.168.200.135/yunjisuan/ /root/yunjisuan/ --username=yunjisuan --password=123123
换拥有写入权限的账户checkout
Store password unencrypted (yes/no)? yes --->是否作为目录的新账户和密码
重新提交
svn add *
查看服务器端数据
svn list file:///application/svndata/yunjisuan/