SVN 一些客户端命令选项

全局选项:

--username ARG

  指定用户名称 ARG

--password ARG

  指定密码 ARG

--no-auth-cache

  不要缓存用户认证令牌

--non-interactive

  不要交互提示

--trust-server-cert

  不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项“--non-interactive”)

--config-dir ARG

  从目录 ARG 读取用户配置文件

--config-option ARG

  以下属格式设置用户配置选项:

    FILE:SECTION:OPTION=[VALUE]

  例如:

    servers:global:http-library=serf

svn
add

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

  svn
add path...

选项:

--auto-props

  再添加它们的时候自动设置文件的属性。

--no-auto-props

  禁用自动设置属性。

svn
blame (ann, annotate, praise)

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

  svn
blame target...

选项:

--revision,
-r rev

  如果指定的rev是单个版本,显示该版本的作者信息。如果指定的版本范围rev1:rev2,显示rev2版本的作者信息,但是只检查版本到rev1(要使得这命令有意义,rev1必须小于rev2)。

svn
cat

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

  svn
cat target...

选项:

--revision,
-r rev

  输出版本revtarget的内容。

svn
checkout (co)

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

  svn
checkout url... path

  签出给定URL。如果没有指定path参数,签出的本地目录名使用URL的基础名称(base
name
)。如果指定了path,而且URL参数只有一个,签出到该目录。如果指定了path,但是有多个,签出到path目录之下的子目录中,目录名使用对应URL的基础名称。

选项:

--revision,
-r rev

  指定要签出的版本

svn
cleanup

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

  svn
cleanup path...

svn
commit (ci)

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

  svn
commit path...

选项:

--message,
-m msg

  使用msg作为提交日志消息。

--file,
-F file

  使用file的内容作为提交日志的消息。

--no-unlock

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

svn
copy (cp)

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

  svn
copy src... dest

  当复制多个源时,它们作为dest的子节点增加,
dest
必须是目录。srcdest可以是工作副本路径(WC)或版本库地址(URL):

src dest 效果
WC WC 拷贝并添加(包括历史)
WC URL 立即提交WC的拷贝到URL
URL WC 签出URLWC,添加
URL URL 完全服务器端拷贝,用于制作分支和标签等

选项:

--revision,
-r rev

  指定要拷贝的src的版本。只在src是版本库地址URL时才有意义。

svn
delete (del, remove, rm)

  从版本控制系统中移除文件或者目录。

  svn
delete target...

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

选项:

--message,
-m msg

  使用msg作为提交日志信息。

--file,
-F file

  使用file的内容作为提交日志信息。

svn
diff (di)

  显示两个路径之间的差异。

  1.
svn diff -r rev1:rev2 target...

  2.
svn diff oldurl newurl

  在第一种格式中,显示target在两个版本rev1rev2之间的改动。target可以是工作拷贝路径或者URL

  在第二种格式中,显示最新版本的oldurlnewurl之间的差异。

选项:

--old
arg

  使用arg作为老一些的目标

--new
arg

  使用arg作为新一些的目标

svn
export

  创建目录树的一个无版本记录的拷贝。

  svn
export URL path

  从项目仓库的指定URL到处一个干净的目录树到path中,如果指定了rev参数,到处rev版本,否则到处最新版本。如果path被省略了,URL的基本名称将被作为本地目录的名称。

选项:

--revision,
-r rev

  指定到处项目仓库的版本。

--native-eol
style

  对于有本地svn:eol-style属性的文件,使用不同的行结尾标识符而不是系统标准的文件行结尾标识符。style必须是LFCR或者CRLF之中的一个。

svn
import

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

  svn
import path URL

  递归提交path的一个拷贝到URL。如果path被省略了,将默认提交当前目录。父目录会根据需要在项目仓库中创建。

选项:

--auto-props

  在导入过程中自动设置属性给文件。

--no-auto-props

  对于导入的文件禁用自动设置属性。

svn
info

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

  svn
info path...

  打印每个path的信息。

选项:

--recursive,
-r

  递归显示目录的信息

svn
list (ls)

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

  svn
list target...

  如果是在项目仓库中,列出每个target文件以及每个target目录的内容。如果target是在工作拷贝中,会使用对应的项目仓库URL

选项:

--verbose,
-v

  显示额外信息。

svn
lock

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

  svn
lock target

  与项目仓库服务器联系,获得对一个或者多个工作拷贝文件的锁。一旦锁住了,其他用户就不能提交改动该文件,除非锁被释放或者被破坏。

选项:

--message,
-m msg

  使用msg作为锁消息信息。

--force

  强制从其他用户或者工作拷贝获得锁。

svn
log

  显示一些版本或者文件的日志信息。

  svn
log target

  打印本地路径或者项目仓库URL的日志信息。对于每个本地路径,默认的版本范围是BASE:1,对于URL默认的版本范围是HEAD:1

选项:

--revision,
-r rev

  如果rev是单个版本,只显示该版本的日志条目。如果rev是版本范围,显示这些版本的日志条目,

--verbose,
-v

  打印每条日志消息所影响的路径。

--stop-on-copy

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

svn
merge

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

  1.
svn merge sourceURL1@rev1 sourceURL2@rev2 WCPath

  2.
svn merge sourceWCPath1@rev1 sourceWCPath2@rev2 WCPath

  3.
svn merge -r rev1:rev2 SOURCE WCPath

  第一个格式中,源URL被指定了版本rev1rev2.这是两个要被比较的源。如果没有指明版本,默认使用最新版本。

  在第二个格式中,对应工作拷贝的URL被指定作为要比较源。版本号必须指定。

  在第三种格式中,SOURCE可以是URL或者工作拷贝中条目,使用工作拷贝的话会使用对应的URL代替。这个URL会被比较它的rev1rev2版本。

  WCPath是接受这些改动的工作拷贝路径。如果WCPath被省略,假定就是当前目录,除非来源尤一个唯一的base
name
匹配了当前目录的文件,如果是这样的话改动就会应用于那个文件。

选项:

--diff3-cmd
cmd

  使用cmd作为合并命令。

--ignore-ancestry

  在计算合并时忽略过去历史。

svn
mkdir

  创建版本控制下的新目录。

  1.
svn mkdir PATH...

  2.
svn mkdir URL...

  在第一种情况下,每个以工作副本PATH指定的目录,都会在本地创建,并且加入增加调度,直到下次提交。

  在第二种情况中,每个以URL指定的目录,都会通过立即提交在版本库中创建。

  在这两种情况下,所有的中间目录都必须事先存在,除非使用--parents选项。

svn
move (mv, rename, ren)

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

  svn
move src... dest

  当移动多个源时,它们作为dest的子节点添加,dest必须是目录。本命令等同于先“copy”,然后“delete”srcdest可以是工作拷贝路径或者项目仓库URL。在工作拷贝中,移动被执行并且新的位置于下次提交时添加。对于项目仓库URL,一个完全服务器端的重名名操作被立即执行。

选项:

--revision,
-r rev

  使用版本rev作为源来执行这次移动。

svn
propdel (pdel, pd)

  删除文件或者目录的属性。

  svn
propdel propname path...

  在本地工作拷贝中删除pathpropname属性

svn
propedit (pedit, pe)

  编辑文件或者目录的属性。

  svn
propedit propname path..

  打开一个外部的编辑器在本地工作拷贝中编辑pathpropname属性。

svn
propget (pget, pg)

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

  svn
propget propname path...

  打印每个pathpropname的内容。本子命令默认会在属性内容加上额外的换行符,得到美观的输出。另外,当同时处理多个路径时,每一个属性内容会在开头增加上它所对应的路径。

选项:

--strict

  禁用额外的换行和其他的美化措施。

svn
proplist (plist, pl)

  列出文件或者路径的所有属性。

  svn
proplist path...

  列出path的所有属性。

选项:

--verbose,
-v

  打印额外的信息。

--recursive,
-R

  递归下降。

--revision,
-r rev

  列出path在版本rev定义的属性。

svn
propset (pset, ps)

  设置文件或者路径的属性。

  svn
propset propname propval path...

  对于path,设置值propvalpropname属性。如果propval没有指定,你必须使用-F选项来指定一个文件,其内容会作为属性的值设置给属性。

选项:

--file,
-F file

  读取file的内容,使用它作为属性值。

--recursive,
-R

  递归下降。

--encoding
enc

  把值作为使用enc编码的字符集。

svn
resolve

  解决工作副本中目录或文件的冲突。

  resolve
--accept=ARG [path...]

  注意:当前需要选项—accept

选项:

--targets
ARG

  传递文件ARG内容为附件参数

--recursive,
-R

  递归下降

--accept
ARG

  指定自动解决冲突动作的源(base,
working, mine-conflict, theirs-conflict, mine-full, theirs-full

svn
resolved

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

  svn
resolved path...

  标记之前包含冲突的文件为“已解决”。注意这个命令不会从语意上解决冲突或者移除冲突标记;它只是移除冲突相关的文件并且允许path被再次提交。它已经过时,被
svn
resolve --accept working”
取代。

选项:

--recursive,
-R

  递归下降。

svn
revert

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

  svn
revert path...

  这个命令不许要网络连接并且撤销你对path所做的一切改动。它不恢复被删除的目录。它会它解除任何冲突的状态。

选项:

--recursive,
-R

  递归下降

svn
status (stat, st)

  打印工作拷贝中文件和目录的状态。

  svn
status path...

  没有任何参数,只是打印本地修改过得条目(无须访问网络)。

  加-u参数,添加工作版本和服务器过期信息。

  加-v参数,打印每个条目完整的版本信息。

  输出中的前七列的宽度均为一个字符。

  第一列:指出条目是被添加、删除还是修改过了

    “
无修改

    A 增加

    C 冲突

    D 删除

    I 忽略

    M 改变

    R 替换

    X 未纳入版本控制的目录,被外部引用的目录所创建

    ? 未纳入版本控制

    ! 该项目已遗失(被非svn命令删除)或不完整

    ~ 版本控制下的项目与其它类型的项目重名

  第二列:显示目录或文件的属性状态

    “
无修改

    C 冲突

    M 改变

  第三列:工作拷贝目录是否被锁定

    “
未锁定

    L 锁定

  第四列:已调度的提交是否包含副本历史

    “
没有历史

    + 包含历史

  第五列:该条目相对其父目录是否已切换,或者是外部引用的文件

    “
正常

    S 已切换

    X 被外部引用创建的文件

  第六列:版本库锁定标记

    (没有-u

    “
没有锁定标记

    K 存在锁定标记

    (使用-u

    “
没有在版本库中锁定,没有锁定标记

    K 在版本库中被锁定,存在锁定标记

    O 在版本库中被锁定,锁定标记在一些其他工作副本中

    T 在版本库中被锁定,存在锁定标记但已被窃取

    B 没有在版本库中被锁定,存在锁定标记但已被破坏

  第七列:项目冲突标记

    “
正常

    C 树冲突

    如果项目包含于树冲突之中,在项目状态行后会附加行,说明冲突的种类。

  是否过期的信息出现的位置是第九栏(-u并用时)

    “
工作拷贝是最新版的

    * 服务器上有更新版本

  剩余的栏位皆为变动宽度,并以空白隔开:

    工作版本号(使用-u-v时;被复制时显示“-”)

    最后提交的版本与最后提交的作者(使用-v)

    工作副本路径总是最后一栏,所以它可以包含空白字符。

选项:

--show-update,
-u

  联系服务器显示更新信息。

--verbose,
-v

  打印额外的信息

--non-recursive,
-N

  只操作单个目录

--no-ignore

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

svn
switch (sw)

  把工作拷贝转向其他URL

  svn
switch URL path

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

选项:

--revision,
-r rev

  转向到版本rev

--non-recursive,
-N

  只操作单个目录

--diff3-cmd
cmd

  使用cmd作为合并命令

svn
unlock

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

  svn
unlock target...

  释放当前对target的锁,以让其他用户可以提交改动。

选项:

--force

  破坏现有对targe的锁,甚至它不是被当前工作拷贝所拥有的。

svn
update (up)

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

  svn
update path...

  如果没有指定版本,把工作拷贝更新为新最新版本。否则把宫组拷贝同步为-r选项指定的版本。

  对于每个更新过的条目会有单独一行,开头有一个字符表示做过的动作。这些字符有一下含义:

  A 添加

  D 删除

  U 更新

  C 冲突

  M 合并

  第一列的字符表示了对实际文件的更新,对于文件属性的更新被列到第二列。

选项:

--revision,
-r rev

  更新到版本rev

--non-recrusive,
-N

  只操作单个目录

--diff3-cmd
cmd

  使用cmd作为合并命令

此条目发表在technologys分类目录。将固定链接加入收藏夹。