python学习-SVN常用命令

发布时间:2019-09-13 09:25:16编辑:auto阅读(1819)

    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_%/Setting
    if 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版本号。









关键字