python学习-SVN常用命令

python学习-SVN常用命令

SVN命令参考:http://riaoo.com/subpages/svn_cmd_reference.html

1、update(up)

作用: 将版本库的修改合并到工作副本中。

使用语法: update [PATH...],

如果没有指定版本,则将工作副本更新到 HEAD 版本。否则同步到 -r 选项

指定的版本。 每更新一项就输出一行信息,使用首字符来报告执行的动作。这些字符的含义是:

A 已添加

D 已删除

U 已更新

C 合并冲突

G 合并成功

E 已存在

第一列字符表示文件内容更新,第二列表示文件属性更新。第三列中的字符"B"

表示此文件上的锁被终止或窃取。

如果使用了"--force" 选项,在工作副本中未版本控制的障碍路径,不会自动

导致签出失败。 如果障碍路径与版本库中的对应路径类型相同(文件或目录),它

将成为受版本控制的路径,但是内容不改变。它意味着障碍路径的子孙,如果也

是障碍路径,那么也将受版本控制。对于障碍路径中的文件,如果与版本库内的

不同,将视为工作副本发生本地修改。版本库中的所有属性都应用于障碍路径。

用第一列字符"E" 来报告障碍路径。


参数解释:

使用"--set-depth"选项设置操作目标的工作副本之新深度。

有效选项:

-r[--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)

版本参数可以是如下之一:

NUMBER 版本号

'{' DATE '}' 在指定时间以后的版本

'HEAD' 版本库中的最新版

'BASE' 工作副本的基线版本

'COMMITTED' 最后提交或基线之前

'PREV' COMMITTED的前一版本

-N[--non-recursive] : 过时;尝试--depth=files 或 --depth=immediates

--depth ARG : 受深度参数ARG("empty","files","immediates",或"infinity") 约束的操作

--set-depth ARG : 设置工作副本的新深度为ARG("exclude","empty","files","immediates",

或"infinity")

-q[--quiet] : 不打印信息,或只打印概要信息

--diff3-cmd ARG : 使用 ARG 作为合并命令

--force : 强制操作运行

--ignore-externals : 忽略外部项目

--changelist ARG : 只能对修改列表 ARG 成员操作

[aliases: --cl]

--editor-cmd ARG : 使用 ARG 作为外部编辑

--accept ARG : 指定自动解决冲突动作

('postpone','base', 'mine-conflict',

'theirs-conflict','mine-full', 'theirs-full',

'edit', 'launch')

全局选项:

--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]

示例:

更新文件 “svn update > update.txt”

2、checkout(co)

作用:从版本库签出工作副本。

使用语法: checkout URL [@REV]... [PATH]

如果指定 REV,那么它确定了从 URL 首先查找的版本。

如果省略路径参数,则URL 最末尾的目录名作为目标目录名。如果指定多个 URL,

则依次将其签出到 PATH的子目录中,子目录名就是 URL 最末尾的目录名。

如果使用了"--force" 选项,在工作副本中未版本控制的障碍路径,不会自动导

致签出失败。 如果障碍路径与版本库中的对应路径类型相同(文件或目录),它将成

为受版本控制的路径,但是内容不改变。它意味着障碍路径的孩子,如果也是障碍路

径,那么也会受版本控制。对于障碍路径中的文件,如果与版本库内的不同,将视为工

作副本发生本地修改。版本库中的所有属性都应用于障碍路径。

参数解释:cmd下运行 "svn help checkout" 以获取帮助。

有效选项:

-r[--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)

版本参数可以是如下之一:

NUMBER 版本号

'{' DATE '}' 在指定时间以后的版本

'HEAD' 版本库中的最新版本

'BASE' 工作副本的基线版本

'COMMITTED' 最后提交或基线之前

'PREV' COMMITTED的前一版本

-q[--quiet] : 不打印信息,或只打印概要信息

-N[--non-recursive] : 过时;尝试--depth=files 或 --depth=immediates

--depth ARG : 受深度参数ARG("empty","files","immediates",或"infinity") 约束的操作

--force : 强制操作运行

--ignore-externals : 忽略外部项目

全局选项:

--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]

示例:

(1)用户名登陆checkout

svn checkout %_SVN_URL_% --username %_USER_% --password %_PASSWORD_% %_MODEL_%%_ENV_%

(2) checkout,注意一些全局变量的使用

echo svn checkout %_ACTION_% %_SVNROOT_%/%_PARAM_%/SetUp/Model/%_MODEL_%/Settingif not exist Setting.svn (svn checkout %_ACTION_% %_SVNROOT_%/%_PARAM_%/SetUp/Model/%_MODEL_%/Setting Setting --non-interactive) else (svn switch %_ACTION_% %_SVNROOT_%/%_PARAM_%/SetUp/Model/%_MODEL_%/Setting Setting --non-interactive)svn revert Setting -R

3、revert

作用: 将工作副本文件恢复到原始版本(恢复大部份的本地修改)。

使用语法: revert PATH...

注意: 本子命令不会访问网络,它解除任何冲突的状态。

但是,它不恢复被删除的目录。


参数解释:

有效选项:

--targets ARG : 传递文件 ARG 内容为附件参数

-R[--recursive] : 向下递归,与--depth=infinity 相同

--depth ARG : 受深度参数ARG("empty","files","immediates",或"infinity") 约束的操作

-q[--quiet] : 不打印信息,或只打印概要信息

--changelist ARG : 只能对修改列表 ARG 成员操作

[aliases: --cl]

全局选项:

--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]


示例:

svn revert Setting -R

4、delete (del, remove, rm)

作用: 从版本库中删除文件和目录。

使用语法: 1、delete PATH...

2、delete URL...

1、每个 PATH 指定的项目会被调度到下次提交时从版本库删除。除非给出

--keep-local 参数,工作副本中没有提交的文件和目录会被立即删除。

如果 PATH 是未版本控制或者已修改的项目,或者包含这些项目,那么仅当

给出 --force 参数时这些项目才会被删除。

2、每个 URL 指定的项目会通过立即提交从版本库中删除。


参数解释:

有效选项:

--force : 强制操作运行

-q[--quiet] : 不打印信息,或只打印概要信息

--targets ARG : 传递文件 ARG 内容为附件参数

-m[--message] ARG : 指定日志信息ARG

-F[--file] ARG : 从文件ARG读取日志信息

--force-log : 强制校验日志信息资源

--editor-cmd ARG : 使用 ARG 作为外部编辑器

--encoding ARG : 将ARG的值视为字符编码

--with-revprop ARG : 在新版本设置版本属性 ARG

使用格式 name[=value]

--keep-local : 在工作副本中保留路径

全局选项:

--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]

示例:

svn del -m "Remove STABLE" %_CL_URL_%

5、copy(cp)

作用: 在工作副本或版本库中复制数据,保留历史。

使用语法: copy SRC[@REV]... DST


当复制多个源时,它们作为 DST 的子节点增加, DST 必须是目录。

SRC和 DST 可以是工作副本路径(WC)或版本库地址(URL):

WC -> WC: 复制和调度增加(包含历史)

WC -> URL: 立即提交工作副本到版本库

URL -> WC: 检出 URL 到工作副本,调度增加

URL -> URL: 完全服务器端复制;一般用于分支和标签

所有 SRC 必须是同一类型。

警告:为了与旧版本的 Subversion 兼容,使用两个工作副本复制(WC -> WC)的

操作不会与版本库通信。同样地,在缺省情况下,不能从复制源到目的地传播合

并跟踪信息。

参数解释:

有效选项:

-r[--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)

版本参数可以是如下之一:

NUMBER 版本号

'{' DATE '}' 在指定时间以后的版本

'HEAD' 版本库中的最新版本

'BASE' 工作副本的基线版本

'COMMITTED' 最后提交或基线之前

'PREV' COMMITTED的前一版本

-q[--quiet] : 不打印信息,或只打印概要信息

--ignore-externals : 忽略外部项目

--parents : 创建中间目录

-m[--message] ARG : 指定日志信息ARG

-F[--file] ARG : 从文件ARG读取日志信息

--force-log : 强制校验日志信息资源

--editor-cmd ARG : 使用 ARG 作为外部编辑器

--encoding ARG : 将ARG的值视为字符编码

--with-revprop ARG : 在新版本设置版本属性ARG

使用格式 name[=value]

全局选项:

--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]

示例:

svn copy -m "%_MEMO_%" %_CL_PATH_% %_CL_URL_%

这里使用了copy来创建分支文件夹,文件夹名称为变量%_MEMO_%,路径为是在%_CL_PATH_%下,这个方式和commit类似,会自动更新SVN版本号。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部