svn重设日志内容

名称

svn propset — Set PROPNAME to PROPVAL on files, directories, or revisions.

概要

svn propset PROPNAME [PROPVAL | -F VALFILE] PATH...
svn propset PROPNAME --revprop -r REV [PROPVAL | -F VALFILE] [TARGET]

描述

设置文件、目录或者修订版本的属性PROPNAMEPROPVAL。第一个例子在工作副本创建了一个版本化的本地属性修改,第二个例子创建了一个未版本化的远程的对版本库修订版本的属性修改(TARGET只是用来确定访问哪个版本库)。

[提示]提示

Subversion has a number of “special” properties that affect its behavior. See第 9.10 节 “Subversion 属性” later in this chapter for more on these properties.

别名

pset, ps

改变

工作副本;对URL操作时是版本库

访问版本库

只有在对URl操作时会

选项

--changelist ARG
--depth ARG
--encoding ENC
--file (-F) FILE
--force
--quiet (-q)
--recursive (-R)
--revision (-r) REV
--revprop
--targets FILENAME

例子

Set the MIME type for a file:

$ svn propset svn:mime-type image/jpeg foo.jpg 
property 'svn:mime-type' set on 'foo.jpg'

在UNIX系统,如果你希望一个文件设置执行权限:

$ svn propset svn:executable ON somescript
property 'svn:executable' set on 'somescript'

或许为了合作者的利益你有一个内部的属性设置:

$ svn propset owner sally foo.c
property 'owner' set on 'foo.c'

如果你在特定修订版本的日志信息里有一些错误,并且希望修改,可以使用--revprop设置svn:log为新的日志信息:

$ svn propset --revprop -r 25 svn:log "Journaled about trip to New York."
property 'svn:log' set on repository revision '25'

或者,你没有工作副本,你可以提供一个URL:

$ svn propset --revprop -r 26 svn:log "Document nap." \
              http://svn.red-bean.com/repos
property 'svn:log' set on repository revision '25'

Lastly, you can tell propset to take its input from a file. You could even use this to set the contents of a property to something binary:

$ svn propset owner-pic -F sally.jpg moo.c 
property 'owner-pic' set on 'moo.c'





 
 
 
 
 
 

直接在TortoiseSVN中修改过往日志,会提示:

DAV request failed;it's possible that the repository's pre-revprop-change hook either failed or is non-existent At least one property change failed; repository is unchanged.

因为SVN库中的日志本身是没有进行版本管理的,为防止误操作导致原日志信息丢失,所以缺省禁止对其进行修改。如果要能在客户端进行修改,必须在repository的hook目录下新建一个pre-revprop-change.bat,内容如下:

if "%4" == "svn:log" exit 0 echo Property '%4' cannot be changed >&2 exit 1

在属性修改前,该脚本会被执行,如返回0即表示同意修改。另外,注意该目录下本就有一个pre-revprop-change.tmpl,但那个是xNix的shell脚本,windows平台貌似不太好用。

然后在客户端就可以正常修改了,其后台应该是调用类似下面的命令:

svn propset -r N --revprop svn:log "new log message" URL

也可以在服务端通过运行下面的命令来做同样的事情,其中FILE是保存新日志信息的文件路径:

svnadmin setlog REPOS_PATH -r N FILE

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值