svnadmin是一个用来监控和修改Subversion版本库的管理工具,详情请见“svnadmin”一节。

因为svnadmin直接访问版本库(因此只可以在存放版本库的机器上使用),它通过路径访问版本库,而不是URL。

svnadmin Switches

--bdb-log-keep

(Berkeley DB特定)关闭数据库日志自动日志删除功能。

--bdb-txn-nosync

(Berkeley DB特定)当提交数据库事务时关闭fsync。

--bypass-hooks

绕过版本库钩子系统。

--clean-logs

删除不使用的Berkeley DB日志。

--force-uuid

缺省情况下,当版本库加载已经包含修订版本的数据时

svnadmin会忽略流中的UUID,这个选项会导致版本库的UUID设置为流的UUID。

--ignore-uuid

缺省情况下,当加载空版本库时,

svnadmin会使用来自流中的UUID,这个选项会导致忽略UUID。

--incremental

导出一个修订版本针对前一个修订版本的区别,而不是通常的完全结果。

--parent-dir DIR

当加载一个转储文件时,根路径为DIR而不是/。

--revision (-r) ARG

指定一个操作的修订版本。

--quiet

不显示通常的过程—只显示错误。

--use-post-commit-hook

当导入使用一个转储文件时,在每次新的修订版本产生时运行版本库post-commit钩子。

--use-pre-commit-hook

当加载一个转储文件时,每次新加修订版本之前运行版本库的pre-commit钩子。如果钩子失败,终止提交并中断加载进程。

svnadmin Subcommands

名称

svnadmin create — 创建一个新的空的版本库。

概要

svnadmin create REPOS_PATH

描述

在提供的路径上创建一个新的空的版本库,如果提供的目录不存在,它会为你创建。

[51]对于Subversion 1.2,svnadmin缺省使用fsfs文件系统后端创建版本库。

选项

--bdb-txn-nosync
--bdb-log-keep
--config-dir DIR
--fs-type TYPE

例子

创建一个版本库就是这样简单:

$ svnadmin create /usr/local/svn/repos

在Subversion 1.0,一定会创建一个Berkeley DB版本库,在Subversion 1.1,Berkeley DB版本库是缺省类型,但是一个FSFS版本库也是可以创建,使用--fs-type选项:

$ svnadmin create /usr/local/svn/repos --fs-type fsfs

[51] 记住svnadmin只工作在本地路径,而不是URL。


名称

svnadmin deltify — 修订版本范围的路径的增量变化。

概要

svnadmin deltify [-r LOWER[:UPPER]] REPOS_PATH

描述

svnadmin deltify因为历史原因之存在于1.0.x,这个命令已经废弃,不再需要。

它开始于当Subversion提供了管理员控制版本库压缩策略的能力,结果是复杂工作得到了

非常小的收益,所以这个“特性”被废弃了。

选项

--revision (-r)
--quiet

名称

svnadmin dump — 将文件系统的内容转储到标准输出。

概要

svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]

描述

使用“

dumpfile”可移植格式将文件系统的内容转储到标准输出,将反馈发送到标准错误,导出的修订版本从LOWER到UPPER。如果没有提供修订版本,会导出所有的修订版本树,如果只提供LOWER,导出一个修订版本树,通常的用法见“版本库的移植”一节。

缺 省情况下,Subversion的转储流包含了一个包括所有文件和目录的单独修订版本(请求的修订版本范围的第一个),后面是其它的只包含本修订所修改的 文件和目录的修订版本(请求范围的其它版本)。对于修改的文件,转储文件包括所有的内容和属性,对于目录,包括所有的属性。

有一对有用的选项可以改变转储文件产生的方式,第一个是--incremental,使得第一个修订版本只显示其修改的文件和目录,而不是整个目录树,就像转储文件中其它的修订版本。这对产生一个准备导入到已经有数据的版本库时非常有用。

第二个有用的选项是--deltas,这个选项导致

svnadmin dump不会保留修改文件的所有内容,而只是记录修改的部分。这样减少(有些情况下是非常大的)了svnadmin dump产生的转储文件的大小。然而,也有缺点—增量转储文件需要更多的CPU来创建,也不可以用svndumpfilter操作,也不如非增量文件容易被如gzip和bzip2等第三方工具压缩。

选项

--revision (-r)
--incremental
--quiet
--deltas

例子

转储整个版本库:

$ svnadmin dump /usr/local/svn/repos
SVN-fs-dump-format-version: 1
Revision-number: 0
* Dumped revision 0.
Prop-content-length: 56
Content-length: 56
…

从版本库增量转储一个单独的事务:

$ svnadmin dump /usr/local/svn/repos -r 21 --incremental
* Dumped revision 21.
SVN-fs-dump-format-version: 1
Revision-number: 21
Prop-content-length: 101
Content-length: 101
…

名称

svnadmin help

概要

svnadmin help [SUBCOMMAND...]

描述

当你困于一个没有网络连接和本书的沙漠岛屿时,这个子命令非常有用。

别名

?, h


名称

svnadmin hotcopy — 制作一个版本库的热备份。

概要

svnadmin hotcopy REPOS_PATH NEW_REPOS_PATH

描述

这个子命令会制作一个版本库的完全“

热”拷贝,包括所有的钩子,配置文件,当然还有数据库文件。如果你传递--clean-logs选项,svnadmin会执行热拷贝操作,然后删除不用的Berkeley DB日志文件。你可以在任何时候运行这个命令得到一个版本库的安全拷贝,不管其它进程是否使用这个版本库。

选项

--clean-logs

名称

svnadmin list-dblogs — 询问Berkeley DB在给定的Subversion版本库有哪些日志文件存在(只有在版本库使用bdb作为后端时使用)。

概要

svnadmin list-dblogs REPOS_PATH

描述

Berkeley DB创建了记录所有版本库修改的日志,允许我们在面对大灾难时恢复。除非你开启了DB_LOG_AUTOREMOVE,否则日志文件会累积,尽管大多数是不再使用可以从磁盘删除得到空间。详情见

“管理磁盘空间”一节。


名称

svnadmin list-unused-dblogs — 询问Berkeley DB哪些日志文件可以安全的删除(只有在版本库使用bdb作为后端时使用)。

概要

svnadmin list-unused-dblogs REPOS_PATH

描述

Berkeley DB创建了记录所有版本库修改的日志,允许我们在面对大灾难时恢复。除非你开启了DB_LOG_AUTOREMOVE,否则日志文件会累积,尽管大多数是不再使用,可以从磁盘删除得到空间。详情见

“管理磁盘空间”一节。

例子

删除所有不用的日志文件:

$ svnadmin list-unused-dblogs /path/to/repos
/path/to/repos/log.0000000031
/path/to/repos/log.0000000032
/path/to/repos/log.0000000033$ svnadmin list-unused-dblogs /path/to/repos | xargs rm
## disk space reclaimed!

名称

svnadmin load — 从标准输出读取“

转储文件”格式流。

概要

svnadmin load REPOS_PATH

描述

从标准输出读取“

转储文件”格式流,提交新的修订版本到版本库文件系统,发送进展反馈到标准输出。

选项

--quiet (-q)
--ignore-uuid
--force-uuid
--use-pre-commit-hook
--use-post-commit-hook
--parent-dir

例子

这里显示了加载一个备份文件到版本库(当然,使用

svnadmin dump):

$ svnadmin load /usr/local/svn/restored < repos-backup
<<< Started new txn, based on original revision 1* adding path : test ... done.* adding path : test/a ... done.
…

或者你希望加载到一个子目录:

$ svnadmin load --parent-dir new/subdir/for/project /usr/local/svn/restored < repos-backup
<<< Started new txn, based on original revision 1* adding path : test ... done.* adding path : test/a ... done.
…

名称

svnadmin lslocks — 打印所有锁定的描述。

概要

svnadmin lslocks REPOS_PATH

描述

打印版本库所有锁定的描述。

选项

例子

显示了版本库/svn/repos中一个锁定的文件:

$ svnadmin lslocks /svn/repos
Path: /tree.jpg
UUID Token: opaquelocktoken:ab00ddf0-6afb-0310-9cd0-dda813329753
Owner: harry
Created: 2005-07-08 17:27:36 -0500 (Fri, 08 Jul 2005)
Expires:
Comment (1 line):
Rework the uppermost branches on the bald cypress in the foreground.

名称

svnadmin lstxns — 打印所有未提交的事物名称。

概要

svnadmin lstxns REPOS_PATH

描述

打印所有未提交的事物名称。关于未提交事物是怎样创建和如何使用的信息见

“版本库清理”一节。

例子

列出版本库所有突出的事物。

$ svnadmin lstxns /usr/local/svn/repos/
1w
1x

名称

svnadmin recover — 将版本库数据库恢复到稳定状态(只有在版本库使用bdb作为后端时使用),此外,如果repos/conf/passwd不存在,它会创建一个默认的密码文件。

概要

svnadmin recover REPOS_PATH

描述

在你得到的错误说明你需要恢复版本库时运行这个命令。

选项

--wait

例子

恢复挂起的版本库:

$ svnadmin recover /usr/local/svn/repos/
Repository lock acquired.
Please wait; recovering the repository may take some time...Recovery completed.
The latest repos revision is 34.

恢复数据库需要一个版本库的独占锁(这是一个“

数据库锁”;见“锁定”的三种含义),如果另一个进程访问版本库,svnadmin recover会出错:

$ svnadmin recover /usr/local/svn/repos
svn: Failed to get exclusive repository access; perhaps another process
such as httpd, svnserve or svn has it open?$

--wait选项可以导致

svnadmin recover一直等待其它进程断开连接:

$ svnadmin recover /usr/local/svn/repos --wait
Waiting on repository lock; perhaps another process has it open?### time goes by...Repository lock acquired.
Please wait; recovering the repository may take some time...Recovery completed.
The latest repos revision is 34.

名称

svnadmin rmlocks — 无条件的删除版本库的一个或多个锁定。

概要

svnadmin rmlocks REPOS_PATH LOCKED_PATH...

描述

从LOCKED_PATH删除没个锁定。

选项

例子

这删除了版本库/svn/repos里tree.jpg和house.jpg文件上的锁定:

$ svnadmin rmlocks /svn/repos tree.jpg house.jpg
Removed lock on '/tree.jpg.
Removed lock on '/house.jpg.

名称

svnadmin rmtxns — 从版本库删除事物。

概要

svnadmin rmtxns REPOS_PATH TXN_NAME...

描述

删除版本库突出的事物,更多细节在

“版本库清理”一节。

选项

--quiet (-q)

例子

删除命名的事物:

$ svnadmin rmtxns /usr/local/svn/repos/ 1w 1x

很幸运,

lstxns的输出作为rmtxns输入工作良好:

$ svnadmin rmtxns /usr/local/svn/repos/  `svnadmin lstxns /usr/local/svn/repos/`

从版本库删除所有未提交的事务。


名称

svnadmin setlog — 设置某个修订版本的日志信息。

概要

svnadmin setlog REPOS_PATH -r REVISION FILE

描述

设置修订版本REVISION的日志信息为FILE的内容。

这与使用

svn propset --revprop设置某一修订版本的svn:log属性效果一样,除了你也可以使用--bypass-hooks选项绕过的所有pre-或post-commit的钩子脚本,这在pre-revprop-change钩子脚本中禁止修改修订版本属性时非常有用。

警告

修订版本属性不在版本控制之下的,所以这个命令会永久覆盖前一个日志信息。

选项

--revision (-r) ARG
--bypass-hooks

例子

设置修订版本19的日志信息为文件msg的内容:

$ svnadmin setlog /usr/local/svn/repos/ -r 19 msg

名称

svnadmin verify — 验证版本库保存的数据。

概要

svnadmin verify REPOS_PATH

描述

如果希望验证版本库的完整性可以运行这个命令,原理是通过在内部转储遍历所有的修订版本并且丢掉输出。

例子

检验挂起的版本库:

$ svnadmin verify /usr/local/svn/repos/
* Verified revision 1729.

svnadmin命令[转]相关推荐

  1. nginx svn密码自助php,SVN+Apche+Nginx+IF.svnadmin管理

    SVN安装和配置 1)安装svn模块和svnversion [root@Svn ~]# yum install mod_dav_svn subversion 2)创建SVN库目录 [root@Svn ...

  2. svn 代码管理工具

    1.1 svn安装配置: wget http://mirrors.163.com/.help/CentOS6-Base-163.repo cp CentOS6-Base-163.repo /etc/y ...

  3. Mac svn使用学习-2-服务端

    2.在mac环境下搭建一个SVN服务器环境 1)创建一个名为myCode的仓库--svnadmin命令 格式: svnadmin SUBCOMMAND REPOS_PATH [ARGS & O ...

  4. svn的安装和服务器搭建, 汉化以及多项目管理

    setup-subversion-1.8.4.msi //在服务器上安装, 客户端上不用安装 TortoiseSVN-1.8.4.24972-win32-svn-1.8.5.msi  //SVN安装包 ...

  5. WinServer2003环境下如何配置TortiseSVN(版本控制)服务器端

    首先请大家了解TortiseSVN(SVN)只不过是一个供多人开发版本控制的工具,并不是把文件上传到服务器,让大家下载而已,所以以为这样可以直接对网站应用进行更新操作的同志,请大家另外想办法(除非服务 ...

  6. 迁移SVN注意事项及操作方法

    最近公司要迁移SVN到新服务器,虽说现在GIT貌似更胜一筹,但是相信用svn的公司还是不在少数,就花了点时间把自己迁移的过程整理了一下. 文档中也许还有不足之处,有问题的话,大家可以告诉我,我会在第一 ...

  7. linux下svn(subversion)服务端添加工程及配置权限

    linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...

  8. win10中使用Docker安装svn的简单教程

    目录 简介 构建svn容器 进入容器 创建svn库 修改配置文件 (1)配置passwd文件 目录 简介 构建svn容器 进入容器 创建svn库 修改配置文件 (1)配置passwd文件 (2)配置a ...

  9. php windows svn,windows下安装svnmanager

    以前一直用命令行管理svn,被领导盯上,要求给他装个图形管理界面来用,花了一点时间装了个SVN,参考了别人的一些资料,现在写个我安装的流程,希望给需要的人一些帮助. Windows下安装基于apach ...

  10. 如何VisualSVN备份到不同Windows服务器中

    文章目录 前言 一.菜单模式备份 二.脚本方式备份 三.相关操作 确定资源位置 四.可能异常 无法识别"X86"项 无法识别"svnadmin"命令 脚本导入报 ...

最新文章

  1. mysql导入csv文件
  2. 加载网络图片的框架总结
  3. 读债务危机0804:美国债务危机与调整(2007到2011)-泡沫出现
  4. 为现有的表添加自增列id并赋值
  5. eclipse(或者myeclipse)常用配置方法
  6. python模块time_Python模块:time模块详解(转)
  7. php向数组前加如指定键的值,PHP array_fill_keys():使用指定的键和值来填充数组
  8. 直播预告丨MySQL中的索引探究
  9. 模拟按键——在Python使用pynput库
  10. html特殊字符p如何屏蔽 asp,利用asp去除html标记的四种方法
  11. php实现中间件6,THINKPHP6 实现中间件
  12. 为什么说吉利博越定义了智能SUV
  13. centos jupyter 安装_centos6.4安装 jupyter-notebook
  14. ORB-SLAM2 窗口显示Viewer线程
  15. 使用Python进行多项式Lo​​gistic回归
  16. Unity实现鼠标拾取电脑屏幕指定区域像素点颜色
  17. webuploader java版本
  18. 二叉树前中后序遍历(循环实现)
  19. 保持激昂斗志的18种有效方法
  20. 残留的Ramnit埋伏中国热门网站后台

热门文章

  1. AutoCAD2006安装破解图文教程
  2. java web 密码加密_JavaWeb日记——Shiro之密码加密
  3. 通过企业微信SCRM营销系统,完成百万私域用户引流
  4. Python爬虫个人记录(二) 获取fishc 课件下载链接
  5. pom文件中的dependencyManagement和dependency
  6. 大写日期转换器(大写日期转换器)
  7. idea 快捷键大全
  8. MySQL技术内幕 InnoDB存储引擎 第2版 下载
  9. 看流畅的python感觉有难度_读《流畅的Python》有感
  10. 2019年研究生数学建模竞赛优秀论文汇总