Linux下操作SVN的工作纪录以备自用

  • 使用 svn 命令创建资源库
  • 修改默认配置文件配置
  • svn 服务配置文件 svnserve.conf
  • 用户名口令文件 passwd
  • 权限配置文件
  • 创建本地目录,进行检出(创建版本控制文件.svn)
  • SVN客户端的一些常用操作的整理


使用 svn 命令创建资源库

[BU@localhost SVN]$ svnadmin create repository

创建之后进入目录,可以看到如下结构内容:

svn 全部提交记录获取 python_svn 全部提交记录获取 python

修改默认配置文件配置

  进入 /opt/svn/runoob01/conf 目录,修改默认配置文件配置。包括 svnserve.conf、passwd、authz 配置相关用户和权限。

svn 服务配置文件 svnserve.conf

svn 全部提交记录获取 python_svn_02


  控制非鉴权用户访问版本库的权限,取值范围为 “write”、“read” 和 “none”。 即 “write” 为可读可写,“read” 为只读,“none” 表示无访问权限,默认值:read。

  auth-access: 控制鉴权用户访问版本库的权限。取值范围为 “write”、“read” 和 “none”。 即"write"为可读可写,"read"为只读,"none"表示无访问权限,默认值:write。

  authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径,默认值:authz。

  realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

  svn 服务配置文件为版本库目录中的文件 conf/svnserve.conf。该文件仅由一个 [general] 配置段组成。

注意:设置的时候记得把文件中的passwd打开

svn 全部提交记录获取 python_svn_03

用户名口令文件 passwd

  用户名口令文件由 svnserve.conf 的配置项 password-db 指定,默认为 conf 目录中的 passwd。该文件仅由一个 [users] 配置段组成。

[users] 配置段的配置行格式如下:

svn 全部提交记录获取 python_配置文件_04

权限配置文件

  权限配置文件由 svnserve.conf 的配置项 authz-db 指定,默认为 conf 目录中的 authz。该配置文件由一个 [groups] 配置段和若干个版本库路径权限段组成。

  [groups]配置段中配置行格式如下:

svn 全部提交记录获取 python_运维_05

创建本地目录,进行检出(创建版本控制文件.svn)

[BU@localhost SvnFiles]$ svn co svn://localhost

  执行完出现.svn的隐藏文件,然后把你要提交的文件拿到文件夹中,调用svn add命令把内容添加到版本控制中。(我上传的是文件夹,所以直接*全上传)

[BU@localhost SvnFiles]$ svn add *

然后提交

[BU@localhost SvnFiles]$ svn commit -m "第一次提交"

提示你输入用户名密码就输入

svn 全部提交记录获取 python_svn 全部提交记录获取 python_06


我的需求到这基本就处理完了,后面有很多细节,都找了一些,暂且记录

SVN客户端的一些常用操作的整理

命令

功能

使用格式

checkout

将文件checkout到本地目录

svn co URL(URL是服务器上的目录)

add

往版本库中添加新的文件或者文件夹

svn add 文件名

commit

将改动的文件提交到版本库

svn ci -m “LogMessage” [-N] [–no-unlock]

PATH(如果选择了保持锁,就使用–no-unlock开关)

update

更新到某个版本

svn up -r m path

status

查看文件或者目录状态

svn st path(目录下的文件和子目录的状态,正常状态不显示)

svn st -v path(显示文件和子目录状态)

delete

删除文件

svn delete path -m “delete test fle”svn

(del, remove, rm)

revert

没有被提交(commit)的回滚

svn revert [-R] path

merge

已经被提交(commit)的回滚

svn merge [-R] path

查看日志

svn log path

查看文件详细信息

svn info path

比较差异

svn diff path(将修改的文件与基础版本比较)

svn diff -r m:n path(对版本m和版本n比较差异)

版本库下的文件和目录列表

svn ls path 显示path目录下的所有属于版本库的文件和目录

创建纳入版本控制下的新目录

svn mkdir

恢复本地修改

svn revert

移除工作副本的目录或文件的“冲突”状态

本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交

svn resolved PATH