麦克斯仇
Think different
159
文章
29508
阅读
首页
INDEX
文章
ARTICLE
关于
ABOUT
Subversion常用命令
创建日期:
2019/11/14
修改日期:
2023/04/03
Svn
> 以下仅展示了运维人员管理svn常用的命令,详细命令见官方[http://svnbook.red-bean.com/](http://svnbook.red-bean.com/) # svn ## svn checkout(co) 从仓库中检出一个工作副本到本地 `svn checkout url [path]` 从仓库中检出一个工作副本到本地。如果忽略`PATH`,就使用URL的最后一个分量作为`PATH`。 ### 示例 将工作副本检出到名为`mine`的目录内: ``` $ svn checkout file:///var/svn/repos/test mine A mine/a A mine/b A mine/c A mine/d Checked out revision 20. $ ls mine $ ``` ## svn update (up) 更新工作副本 `svn update [PATH...]` 把仓库里的更新应用到工作副本里。如果没有指定版本号,则默认是`HEAD`,否则的话,`svn update`把工作副本更新到由选项`--revision (-r)`所指定的版本号。 ### 示例 ``` # 把仓库中最新的内容更新到本地: $ svn update Updating '.': A newdir/toggle.c A newdir/disclose.c A newdir/launch.c D newdir/README Updated to revision 32. # 还可以把工作副本“更新”一个更旧的版: $ svn update -r30 Updating '.': A newdir/README D newdir/toggle.c D newdir/disclose.c D newdir/launch.c U foo.c Updated to revision 30. ``` ## svn info 显示文件的相关信息 `svn info [TARGET[@REV]...]` 打印工作副本路径或URL的相关信息,相关信息可能包括: - 该对象所在的仓库信息 - 该对象的最近一次提交 - 该对象上的用户级别的锁 - 本地的调度信息(添加,删除,复制等) - 本地的冲突信息 ### 示例 ``` # 显示文件信息 svn info foo.c # 显示目录信息 svn info vendors # 显示指定URL信息 svn info http://svn.red-bean.com/repos/test/readme.doc ``` ## svn switch (sw) 将工作副本切换到另一个分支 `svn switch URL` 把工作副本更新到一个新的URL。用于切换至另一个分支。 ### 示例 ``` # 切换工作副本 $ svn switch http://svn.red-bean.com/repos/trunk/vendors . U myproj/foo.txt U myproj/bar.txt U myproj/baz.c U myproj/qux.c Updated to revision 31. ``` ## svn relocate 修改工作副本的根URL地址 `svn relocate URL` 把工作副本更新到一个新的URL。用于仓库地址更换后的重定位 ### 示例 ``` svn relocate http://newUrl:newPort/newPath/ ``` # svnadmin ## svnadmin create 创建一个新的空仓库 `svnadmin create REPOS_PATH` 在指定的路径下创建一个新的空仓库。 虽然`svnadmin create`会创建新仓库所在的目录,但它并不会创建中间目录。例如,假设你有一个空目录`/var/svn`,那么创建仓库`/var/svn/repos`不会有任何问题,但是试图创建`/var/svn/subdirectory/repos`则会报错。另外,取决于仓库的位置,你可能需要切换到具有特权的用户(例如超级用户 root)才能执行`svnadmin create`。 ### 示例 ``` # 在 /var/svn 目录下创建一个名为 repos 的新仓库 $ cd /var/svn $ svnadmin create repos ``` ## svnadmin dump 把文件系统的内容转储到 stdout `svnadmin dump REPOS_PATH [-r LOWER[:UPPER]]` 按照可移植的“转储文件”格式,把文件系统的内容转储到`stdout`,把错误信息打印到`stderr`。按照从版本号`LOWER`到`UPPER`的顺序进行转储。如果没有指定版本号,`svnadmin dump`将会转储所有的版本号,如果只指定了版本号`LOWER`,则只转储单个版本号。 ### 示例 ``` # 转储整个仓库 $ svnadmin dump /var/svn/repos > full.dump * Dumped revision 0. * Dumped revision 1. * Dumped revision 2. … ``` ## svnadmin load 从 stdin 读取仓库的转储流. `svnadmin load REPOS_PATH [-r LOWER[:UPPER]]` 从`stdin`读取仓库的转储流,把新的版本号提交到仓库的文件系统中。进度信息被打印到`stdout`。如果没有指定版本号,`svnadmin load`将读取并提交所有 的版本号;如果添加了选项`--revision (-r)`,`svnadmin load`将只读取并提交从`LOWER`到`UPPER`的版本号;如果只指定了`LOWER`,则只加载这一个版本号。 ### 示例 下面的例子展示了把转储文件加载到仓库中的输出信息的开始部分(当然,转储文件是通过命令`svnadmin dump`创建的) ``` $ svnadmin load /var/svn/restored < repos-backup <<< Started new txn, based on original revision 1 * adding path : test ... done. * adding path : test/a ... done. … ```
6
全部评论