svn亲笔操作

1. 创建版本库
[root@iZ28dftuhfaZ db]# svnadmin create /var/svn-repositories/app-api/

2. 导入数据到你的版本库
[root@iZ28dftuhfaZ db]# svn import --username *** --password ** /var/db svn://121.42.192.51 -m "Initial import"
Adding /var/db/nscd
Adding (bin) /var/db/nscd/hosts
Adding /var/db/sudo
或者
[root@iZ28dftuhfaZ db]# svn import --username *** --password *** /var/db file:///var/svn-repositories/app-api/ -m "Initial import"
3. 列出版本库目录的条目
[root@iZ28dftuhfaZ db]# svn list svn://121.42.192.51/
或者
[root@iZ28dftuhfaZ db]# svn list file:///var/svn-repositories/app-api/

4. checkout  从版本库取出一个新拷贝,开始使用  Subversion[初始化检出]
[root@iZ28dftuhfaZ db]# svn checkout svn://121.42.192.51/sa
A sa/sa20
A sa/sar20
#它也完全可以通过输入特定  URL  取出任意深度的子目录
5.提示svn: '/var/db' is not a working copy
指的是使用checkout或update取出的一个客户端拷贝
6.svnserver服务
$ svnserve -d -r /var/svn -d 启动一个独立守护进程,-r防止暴露绝对路径
7.svnserve.conf配置
[general]
#以下两个可被设置的变量包括read、white、none,设置为none则禁止匿名用户读写
# anonymous users can only read the repository
anon-access = read
# authenticated users can both read and write
auth-access = write
password-db = userfile //制定用户密码文件
authz-db = authz //权限控制文件
realm = example realm  //可以隐藏svn的绝对路径
8.svnlook 这个选项正如svn和svnadmin 一样都是一个全局选项。
svnlook log子命令
  • svnlook author
显示最后一次提交人的用户名 
svnlook author /var/svn/repos
zh
显示指定版本号的作者
$ svnlook author -r 40 /var/svn/repos
sally
  • svnlook log
查询版本ID为40的版本信息
$ svnlook log -r 40 /var/svn/repos/

 9.版本库钩子pre-commit和post-commit

  • pre-commit

传递给你钩子程序的命令行参数,按照顺序是:
1. 版本库路径
2. 提交事务的名称

  • post-commit

传递给你钩子程序的命令行参数,按照顺序是:
1. 版本库路径
2. 提交创建的修订版本号

 

 扩展:

--no-auth-cache选项          :  禁止Subversion使用认证缓存

目录 .svn 中有什么?
工作副本中的任何一个目录包括一个名为 .svn 管理区域。通常列表操作不显示这个目录,但
它仍然是一个非常重要的目录。无论你做什么,不要删除或是更改这个管理区域的任何东西,
Subversion 使用它来管理工作副本。
如果你不小心删除了子目录 .svn,最简单的解决办法是删除包含的目录(普通的文件系统删
除,而不是 svn delete),然后在父目录运行 svn update,Subversion 客户端会重新下载你删
除的目录,并包含新的 .svn。

分支:

svn://***.com/project1/branches/project1-offline 分销系统svn

svn://***.com/project1/branches/project1-online 线下pos SVN

原文地址:https://www.cnblogs.com/T8881/p/4899414.html