svn重设日志内容 及 如何修改SVN已提交项目的message log

2024-02-29 18:08

本文主要是介绍svn重设日志内容 及 如何修改SVN已提交项目的message log,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引自:http://blog.csdn.net/runboying/article/details/7467005

名称

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.

别名

psetps

改变

工作副本;对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'<div>本文转自: <a target=_blank href="http://yin-gang.spaces.live.com/blog/cns%21756af5fdccd70454%21561.entry" style="color: rgb(255, 153, 0); text-decoration: none;">http://yin-gang.spaces.live.com/blog/cns!756af5fdccd70454!561.entry</a></div><div> </div><div> </div><div><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">直接在TortoiseSVN中修改过往日志,会提示: </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">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. </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">因为SVN库中的日志本身是没有进行版本管理的,为防止误操作导致原日志信息丢失,所以缺省禁止对其进行修改。如果要能在客户端进行修改,必须在repository的hook目录下新建一个pre-revprop-change.bat,内容如下: </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1 </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">在属性修改前,该脚本会被执行,如返回0即表示同意修改。另外,注意该目录下本就有一个pre-revprop-change.tmpl,但那个是xNix的shell脚本,windows平台貌似不太好用。 </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">然后在客户端就可以正常修改了,其后台应该是调用类似下面的命令: </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"><strong>svn propset -r </strong><em>N</em><strong> --revprop svn:log "<em>new log message</em>"</strong> URL </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">也可以在服务端通过运行下面的命令来做同样的事情,其中FILE是保存新日志信息的文件路径: </p><p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;">svnadmin setlog REPOS_PATH -r N FILE</p></div>

这篇关于svn重设日志内容 及 如何修改SVN已提交项目的message log的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759598

相关文章

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

python修改字符串值的三种方法

《python修改字符串值的三种方法》本文主要介绍了python修改字符串值的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录第一种方法:第二种方法:第三种方法:在python中,字符串对象是不可变类型,所以我们没办法直接

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C