首页 > SVN > svn propset-设定目录、文件或版本的属性

svn propset-设定目录、文件或版本的属性

2011年1月4日 发表评论 阅读评论
propset (pset, ps): 设定目录、文件或版本的属性。
用法: 1. propset PROPNAME PROPVAL PATH...
      2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]

  1、在工作副本中修改一个受版本控制的属性。
  2、在版本库的版本中修改一个非版本控制的属性。
     (TARGET 只用来判断访问哪一个版本库。)

  可以使用选项 --file 来代替 PROPVAL 赋值。

  注意: svn 除了能存储任意属性外,还识别以下专用的版本控制属性: 
    svn:ignore     - 以换行符隔开的文件忽略模式列表。
    svn:keywords   - 将被展开的关键字。有效的关键字为。
      URL, HeadURL             - 此对象最新版本的 URL。
      Author, LastChangedBy    - 最后修改文件的人。
      Date, LastChangedDate    - 此对象最后修改的日期。
      Rev, Revision,           - 此对象最后修改的版本号。
      LastChangedRevision
      Id                       - 前四个关键字的压缩摘要。
      Header                   - 与 Id 类似,只是包含完整的 URL。
    svn:executable   - 如果存在此属性则设置文件为可执行的。
      使用 “svn propdel svn:executable PATH...” 清除。
    svn:eol-style    - “native”,“LF”,“CR”,“CRLF” 之一。
    svn:mime-type    - 文件的媒体类型。用以决定是否该合并该文件,
      以及 Apache 如何处理它。媒体类型以“text/”开头(或是没有指
      定媒体类型)的文件会被视为纯文本文件,否则就是二进制数据。
    svn:externals    - 以换行符隔开的模块说明列表,每项都由一个
      相对路径、可选的版本标志、一个 URL 组成。这三个元素的顺序实现
      不同的行为。Subversion 1.4 和早期的版本仅支持下列格式,并且 URL
      中不能有 peg 版本:
        foo             http://example.com/repos/zig
        foo/bar -r 1234 http://example.com/repos/zag
      Subversion 1.5 和更高的版本支持以上格式,以及下列格式,URL 中可以有
      peg 版本:
                http://example.com/repos/zig foo
        -r 1234 http://example.com/repos/zig foo/bar
      Subversion 1.5 和更高的版本在上述格式中支持相对 URL,在用 URL 开始用
      下述字符串之一来指示:
        ../  相对于外部引用的父目录
        ^/   相对于版本库的根
        //   相对于方案
        /    相对于服务器根
      相对路径“relative_path relative_path”这种不明确的格式来自
      “relative_url relative_path”和 peg 版本支持。
    svn:needs-lock - 此属性表明文件在修改前应该加锁。
      如果没有加锁,则此文件在工作副本中应被设为只读。使用
      “svn propdel svn:needs-lock PATH...” 清除。

    svn:keywords, svn:executable, svn:eol-style, svn:mime-type 以及
    svn:needs-lock 属性不能设置在目录上。使用非递归选项(-N)在目录上
    设置这些属性时会失败,递归操作时只会作用于指定目录中的文件子孙上。

有效选项:
  -F [--file] ARG          : 从文件 ARG 读取属性值
  --encoding ARG           : 将ARG的值视为字符编码
  -q [--quiet]             : 不打印信息,或只打印概要信息
  -r [--revision] ARG      : ARG (一些命令也接受ARG1:ARG2范围)
                             版本参数可以是如下之一: 
                                NUMBER       版本号
                                '{' DATE '}' 在指定时间以后的版本
                                'HEAD'       版本库中的最新版本
                                'BASE'       工作副本的基线版本
                                'COMMITTED'  最后提交或基线之前
                                'PREV'       COMMITTED的前一版本
  --targets ARG            : 传递文件 ARG 内容为附件参数
  -R [--recursive]         : 向下递归,与 --depth=infinity 相同
  --depth ARG              : 受深度参数 ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作
  --revprop                : 在版本属性上操作(使用-r参数)
  --force                  : 强制操作运行
  --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]
                             例如:
                                 servers:global:http-library=serf

常用操作
1.给文件设置MIME type属性:
$ svn propset svn:mime-type image/jpeg foo.jpg

2.在UNIX系统,如果你希望一个文件设置执行权限:
$ svn propset svn:executable ON somescript

3.或许为了合作者的利益你有一个内部的属性设置:
$ svn propset owner sally foo.c

4.如果你在特定修订版本的日志信息里有一些错误,并且希望修改,可以使用–revprop设置svn:log为新的日志信息:
$ svn propset –revprop -r 25 svn:log “Journaled about trip to New York.”


分类: SVN 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.