Subversion命令汇总(svn)

注意事项:
在ubuntu里如果改了登录密码,那么在使用svn是会要求GNOME keyring [(null)] 的密码:
去掉这个只需:rm -f ~/.gnome2/keyrings/login.keyring

 

svn 命令共同的选项

--targets list 读取list并将其解释为一个将要操作的参数列表

--non-recurisive, –N 只操作单个目录,不处理子目录

--verbose, –v 打印额外的信息

--quiet, –q 打印的信息尽可能少

--username,  name 指定在连接授权时使用的用户名

--password, pawd 指定要使用的密码

--no-auth-cache 不要缓存身份令牌

--non-interactive 不要提示输入额外的信息

--config-dir  dir  从dir读取用户配置

--editor-cm cmd 使用cmd作为日志消息的编辑器

svn add

把文件及目录的名称添加给版本控制系统。他们会在下次提交时被添加到项目仓库

svn add path

--auto-props 在添加他们的时候自动设置文件的属性

--no-auto-props 禁用自动属性设置

svn blame

显示文件每行的版本及作者信息

--revision, –r rev 如果指定的rev是单个版本,显示该版本作者信息。如果是范围rev1:rev2, 显示rev2版本作者的信息,但只检查版本到rev1.

svn cat

输出指定文件或者URL的内容

svn cat target…

--revision, –r rev

svn checkout

从项目仓库牵出一个工作拷贝

svn checkout url…path

如果没有指定path,签出的本地目录名使用URL的base name.

svn cleanup

清理工作拷贝,移除锁,完成未完成的操作,等等。

svn cleanup path…

svn commit path

把改动从你的工作拷贝发送到项目仓库

--message, –m msg 使用msg作为提交日志消息。

--file, –F file 使用file的内容作为提交日志消息。

--no-unlock 不要在提交的时候释放锁。

svn copy

在工作拷贝或者项目仓库中制造包括历史在内的复本

svn copy src dest

src和dest可以是工作拷贝(WC)的路径或者URL.

src dest 效果……

WC WC 拷贝并添加

WC URL 立即提交WC的拷贝到URL

URL WC 签出URL到WC, 添加

URL URL 完全服务器端拷贝;用于制作分支和打标签

--revision, –r rev要拷贝的src的版本。只在src是项目仓库的URL时才有意义。

svn delete target

从项目仓库删除文件或者目录。如果target是工作拷贝中的文件或者目录,它被从工作拷贝中移除并且预计在下次提交时删除掉。如果target是项目仓库URL,通过一次立即的提交从项目仓库中删除。

--message, –m msg

--file, –F file

svn diff

显示两个路径之间的差异

svn diff –r rev1:rev2 target…

svn diff oldurl newurl

svn export

创建一个无版本记录的拷贝.

svn export –r rev URL path

从项目仓库的指定URL导出一个干净的目录树到path中,如果指定了rev参数,导出rev版本的,否则到处最新版本。

svn import

提交一个无版本的文件或者树到项目仓库

svn import path URL

svn info

显示文件或者目录的信息。

svn list

列出项目仓库中的目录条数。

svn lock

锁住文件让其它用户不能提交改动。

svn lock target

--message, –m msg 使用msg作为锁信息消息

--force 强制加锁成功,通过从其他用户或者工作拷贝把锁给偷过来。

svn log

显示一些版本或者文件的日志消息.

--stop-on-copy 在遍历历史的时候不要穿越拷贝(对于查找分支的起点很有用)

svn merge

把两个来源的差异应用给工作拷贝路径。

svn merge –r rev1:rev2  source wcpath

svn mkdir

创建版本控制下的新目录

svn mkdir target

svn move src dest

移动或者重命名工作拷贝或者项目仓库中文件或者目录。

--revision, –r rev使用版本rev作为源来执行这次移动。

svn propdel

删除文件或者目录的属性

svn propdel propname path…

svn propedit

编辑文件或者目录的属性

svn propedit propname path…

svn propget

打印文件或者目录的属性值

svn propget propname path…

--strict 禁用额外的换行和其它的美化措施(在把二进制属性重定向到文件时会有用处)

svn proplist

列出文件或者目录的所有属性

--verbose

--recursive

--revision, –r rev 列出path在版本rev定义的属性

svn propset(pset, ps)

svn propset propname propval path…

--file, –F file 读取file的内容,使用它作为属性值.

--recursive

--encoding  enc 把值作为用enc编码的字符集

svn resolved

移除工作拷贝文件或者目录的冲突状态

--recursive

svn revert

恢复工作拷贝的文件(撤销最新的本地修改)

svn revert path 这个命令不需要网络连接

--recursive

svn status

打印工作拷贝中文件或者目录的状态

svn status path…

--show-updates, –u 联系服务器显示更新信息

--no-ignore 忽视默认设置和svn:ignore属性设置的忽略项

--non-recursive, –N

--verbose, –v

svn switch

把工作拷贝转向到其他的URL

svn switch URL path

更新工作拷贝让其使用项目仓库的新URL.这个行为类似svn update 而且是一种把工作拷贝转向到同一项目仓库中的分支或者标签的办法。

--revision, –r rev 转向到版本rev

--non-recursive, –N

--diff3-cm 使用cmd作为合并命令

svn unlock

解开工作拷贝文件或者项目仓库URL的锁。

svn unlock target…

--force 砸坏现有对target的锁,甚至它不是被当前工作拷贝所拥有的。

svn update

把改动从项目仓库带到工作拷贝来。

svn update path…

--revision, –r rev 更新到版本rev

--non-recrusive, –N

--diff3-cmd

svnadmin 命令共同的选项

--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(如果你的配置文件已经设置了--force-uuid,将会用于将其覆盖)。

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

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

--revision (-r) ARG  指定一个操作的修订版本。

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

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

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

svnadmin create

svnadmin create REPOS_PATH

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

--bdb-txn-nosync

--bdb-log-keep

--config-dir DIR

--fs-type TYPE

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

svnadmin create /var/svn/repos --fs-type fsfs

svnadmin dump

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

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

--revision (-r)

--incremental

--quiet

--deltas

svnadmin hotcopy

svnadmin hotcopy REPOS_PATH NEW_REPOS_PATH

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

--clean-logs

svnadmin lslocks

svnadmin lslocks REPOS_PATH

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

svnadmin rmlocks

svnadmin rmlocks REPOS_PATH LOCKED_PATH...

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

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

svnsync

待整理。

posted @ 2013-04-18 20:46  subsir  阅读(642)  评论(0编辑  收藏  举报