svn propset-设定目录、文件或版本的属性
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