Chinaunix首页 | 论坛 | 博客
  • 博客访问: 156135
  • 博文数量: 25
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-22 23:16
文章存档

2009年(22)

2008年(3)

我的朋友

分类: LINUX

2009-03-11 10:49:10

SVN 客户端 命令详解

bash> svn help
用法:svn [options] [args]
Subversion 命令行客户端,版本 1.2.0。
请使用 “svn help ” 显示子命令的辅助说明。
大多数的子命令可接受文件或目录参数,对目录进行递回存取。
如无指定参数给命令,默认将会自当前的目录 (包含) 进
行递归存取。

可用的子命令:(括号内是子命令的简写)
  add
  blame (praise, annotate, ann)
  cat
  checkout (co) //从源码库取出一个工作版本的拷贝
  cleanup //
  commit (ci) //提交当前工作拷贝的更改。这个地方是有可能出现代码冲突的。
  copy (cp) //做一个工作拷贝的拷贝。
  delete (del, remove, rm) //删除本地或者svn server response上的文件或者目录。
  diff (di) //比较某个文件与库中的对应文件的不同,类似于系统的diff命令。参数:文件名。
  export //导出一个无版本控制的目录树拷贝。一般用于导出发行,或者投入运行的版本。
  help (?, h)
  import //将本地当前目录下的文件导入到svn response 中。
  info //当前目录下工作拷贝中某文件(文件夹)的信息,如URL,版本,修改日期等。参数:要看的文件(文件夹)
  list (ls) //列出当前工作拷贝下的文件 ,相当于系统的ls命令,不过只能在工作拷贝目录下使用。
  lock
  log
  merge //将两个来源之间的差异应用至工作拷贝路径。
  mkdir //在本地或者svn respon上新建一个文件夹.参数:URL或者路径
  move (mv, rename, ren)
  propdel (pdel, pd)
  propedit (pedit, pe)
  propget (pget, pg)
  proplist (plist, pl)
  propset (pset, ps)
  resolved
  revert
  status (stat, st) //svn工作拷贝当前状态,与svn server上的源码比较的结果。
  switch (sw)
  unlock
  update (up) //将svn server端文件同步到本地

Subversion 是个版本控制系统的工具。
欲取得详细资料,请参考



>svn co
checkout (co): Check out a working copy from a repository.
usage: checkout URL[@REV]... [PATH]

  If specified, REV determines in which revision the URL is first
  looked up.

  If PATH is omitted, the basename of the URL will be used as
  the destination. If multiple URLs are given each will be checked
  out into a sub-directory of PATH, with the name of the sub-directory
  being the basename of the URL.

有效选项:
  -r [--revision] arg      : ARG (一些命令需要 ARG1:ARG2 )
                            修订版参数可以是:
                                数字      修订版号
                                "{" 日期 "}" 在指定时间以后的修订版date
                                "HEAD"      最近的档案库
                                "BASE"      基线,基于修订版的工作条目
                                "COMMITTED"  最后提交或基线之前
                                "PREV"      修订版提交之前
  -q [--quiet]            : 打印尽可能少
  -N [--non-recursive]    : 只在单个目录操作
  --username arg          : 指定用户 ARG
  --password arg          : 指定密码 ARG
  --no-auth-cache          : 不要缓冲用户验证
  --non-interactive        : 不要交互提示
  --config-dir arg        : 从目录 ARG 读取用户配置文件
  --ignore-externals      : ignore externals definitions
 
sh> svn add
add: 把文件和目录放入版本控制中,
通过调度加到档案库。它们会在下一次提交时加入。
用法:add 路径...

有效选项:
  --targets arg            : 传递文件 ARG 内容为附件参数
  -N [--non-recursive]    : 只在单个目录操作
  -q [--quiet]            : 打印尽可能少
  --config-dir arg        : 从目录 ARG 读取用户配置文件
  --force                  : 强制操作运行
  --auto-props            : 使自动属性有效
  --no-auto-props          : 使自动属性无效 
 
  eg.(下面的命令必须在工作拷贝目录下运行)
  sh> svn add test.c //加一个文件
  sh> svn add test //加一个目录,目录下有任意结构的文件夹
 
sh> svn import -m=sdfsdf   //可在任何目录下,将当前文件夹下的所以文件递归导入到svn response 的hehehhhe目录下。

sh>svn export
export: 产生一个无版本控制的目录树拷贝。
用法:1、export [-r REV] URL[@PEGREV] [PATH]
      2、export [-r REV] PATH1[@PEGREV] [PATH2]

  1、从 URL 指定的档案库,导出一个干净的目录树到 PATH。如果有指定
    REV 的话,内容即为该修订版的,否则就是 HEAD 修订版。如果 PATH
    被省略的话,地址(URL)的最后部份会被用来当成本地的目录名称。

  2、在工作拷贝中,从指定的 PATH1 导出一个干净的目录树到 PATH2。如果
    有指定 REV 的话,会从指定的修订版导出,否则从 WORKING 导出。如果
    PATH2 被省略的话,PATH1 的最后部份会被用来当成本地的目录名称。
    如果没有指定 REV 的话,所有的本地修改都还会保持著,但是未纳入
    版本控制的文件不会被复制。

    如果指定了 PEGREV ,将从指定的修订版本开始查找。


有效选项:
  -r [--revision] arg      : ARG (一些命令需要 ARG1:ARG2 )
                            修订版参数可以是:
                                数字      修订版号
                                "{" 日期 "}" 在指定时间以后的修订版date
                                "HEAD"      最近的档案库
                                "BASE"      基线,基于修订版的工作条目
                                "COMMITTED"  最后提交或基线之前
                                "PREV"      修订版提交之前
  -q [--quiet]            : 打印尽可能少
  -N [--non-recursive]    : 只在单个目录操作
  --force                  : 强制操作运行
  --username arg          : 指定用户 ARG
  --password arg          : 指定密码 ARG
  --no-auth-cache          : 不要缓冲用户验证
  --non-interactive        : 不要交互提示
  --config-dir arg        : 从目录 ARG 读取用户配置文件
  --native-eol arg        : 使用一个与标准不同的 EOL 标记
                            文件的系统标记是一个本地的 svn:eol-style 属性。
                            ARG 可能是一下之一 'LF','CR','CRLF'
  --ignore-externals      : ignore externals definitions
 
  eg.
  sh> svn export
 
sh> svn merge 
merge: 将两个来源之间的差异应用至工作拷贝路径。
用法:1、merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
      2、merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]
      3、merge -r N:M SOURCE[@REV] [WCPATH]

  1、第一种形式中,来源 URL 各被指定到修订版 N 与 M。这两个就是作为
    比较的来源。如果没有指定修订版的话,默认为 HEAD。

  2、在第二种形式中,对应到两个来源的工作拷贝路径的 URL 定义出用以
    进行比较的来源。这里必须指定修订版。

  3、第三种形式中,SOURCE 可为 URL 或工作拷贝项目,后者会使用对应的
    地址(URL)。在修订版 REV 的 地址(URL) 会以它存在于修订版 N 与 M 的路径来作
    比较。如果未指定 REV,就会假设为 HEAD。

  WCPATH 是接受改变的工作拷贝路径。如果省略 WCPATH 的话,默认值为
  '.',除非来源的主要名字符合 '.' 里的某个文件;在这种情况下,文件
  差异将会直接应用至该文件去。

有效选项:
  -r [--revision] arg      : ARG (一些命令需要 ARG1:ARG2 )
                            修订版参数可以是:
                                数字      修订版号
                                "{" 日期 "}" 在指定时间以后的修订版date
                                "HEAD"      最近的档案库
                                "BASE"      基线,基于修订版的工作条目
                                "COMMITTED"  最后提交或基线之前
                                "PREV"      修订版提交之前
  -N [--non-recursive]    : 只在单个目录操作
  -q [--quiet]            : 打印尽可能少
  --force                  : 强制操作运行
  --dry-run                : 尝试操作但不修改
  --diff3-cmd arg          : 使用 ARG 作为合并命令
  --ignore-ancestry        : 合并时忽略原始信息
  --username arg          : 指定用户 ARG
  --password arg          : 指定密码 ARG
  --no-auth-cache          : 不要缓冲用户验证
  --non-interactive        : 不要交互提示
  --config-dir arg        : 从目录 ARG 读取用户配置文件
阅读(1529) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~