**
基本操作
**
检出(Checkout)
把服务器端版本库内容完整下载到本地。
在整个开发过程中只做一次。
更新(Update)
把服务器端相对于本地的新的修改下载到本地。
提交(Commit)
把本地修改上传到服务器。
**
基本指令操作
**
status svnserve 检查svn的状态
(1)查看/etc/sysconfig/svnserve 里的options选项的地址
(2)mkdir -p (1)中的地址
(3)在(2)文件夹中创建具体项目目录pro_erp pro_oa pro_pdm
(4) 在pro_oa中 svnadmin create /var/svn/pro_oa 创建SVN版本库
conf 版本库的配置文件
db 数据库目录
hooks 钩子程序
(5)启动SVN服务
systemctl start svnserve.service
systemctl enable svnserve.service
开启匿名访问
配置文件
版本库根目录/conf/svnserve.conf
配置项
anon-access = write
为了更好地使用SVN 我们还需要关闭selinux
配置文件
/etc/sysconfig/selinux
修改
SELINUX=disabled
重启
reboot
检出:
svn checkout svn://服务器ip/pro_oa ./
在指定目录下创建.svn目录 提交更新等操作都需要在工作副本目录下执行
保存本地目录和文件状态信息,用来和SVN服务器进行交互
添加:svn add
提交:svn commit -m "xxx" 文件名
还需要有相应的权限 例如匿名访问
查看服务器端文件内容
svn list svn://服务器端ip/pro_oa
更新操作
svn update 文件名 将服务器端所产生的修改下载下来
**
冲突
**
首先过时的文件就是不能提交的 需要先更新
但是如果更新的字段是你正在写入的 就会产生冲突:
产生三个文件:
xxx.mine文件:发生冲突时本地文件内容
xxx.r[小版本号]文件:发生冲突前文件内容
xxx.r[大版本号]文件:发生冲突时服务器端文件内容
**
SVN的权限管理
**
首先需要知道三个配置文件:
(1)版本库配置文件目录: /var/svn/repository/pro_oa/conf/svnserve.conf文件
anon-access = write 匿名访问
auth-access = write 授权访问
password-db = passwd 指定设置用户名密码的配置文件
authz-db = authz 分配权限的配置文件
(2)password文件
配置 名字 = 密码
(3)authz文件
[groups]
配置 用户组 = 用户,用户
[/]
进行权限配置
@组名 = 权限值
用户名 = 权限值
* = 表示除了授权的之外都没有任何权限
**
查看历史记录
**
eclipse中会出现条目不可用的问题: 到svnserve.conf文件中把anon-access注释打开设置为none
**
配置eclipse全局忽略文件
**
~\AppData\Roaming\Subversion\config
修改
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store .settings */.settings/* .classpath .project target */target/*
如果你用的是TortoiseSVN则 需要把target目录加入。