SVN修改已提交版本的日志

在工作中一直是使用svn进行项目的版本控制的,有时候由于提交匆忙,或是忘了添加Log,或是Log内容写的有错误。今日遇到此类情况,想要在查看项目的日志时添加log或是修改log内容,遇到如下错误:
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
显然此情况是svn服务端设置的问题,版本在提交后不允许修改log。需要在服务端添加一个hook来允许log的修改。我用的服务器是Windows下的VisualSVN Server,

在库的属性页面的Hooks选项卡下找到Pre-revision property change hook(参考图1),双击修改其内容。如果找不到hooks文件夹 可以按照下面步骤操作

第一步:在服务端的程序启动栏里打开VisualSVN Server

第二步:右键单击local找到属性

第三步:找到存储位置

第四步:找到hooks文件夹,再找到pre-revprop.change.tmpl,右键编辑修改成如下

SET REPOS="%1"
SET REV="%2"
SET USER="%3"
SET PROPNAME="%4"
SET ACTION="%5"
IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0))
ECHO "Changing revision properties %PROPNAME% is prohibited" >&2
EXIT 1

然后另存为pre-revprop.change.bat批处理文件 如下图,双击运行,此时即可到客户端进行日志修改

时间: 2024-10-14 02:14:38

SVN修改已提交版本的日志的相关文章

SVN修改已提交版本的注释

SVN提交文件后,发现注释写的不完整或不够明确,想再修改注释文字.通过View Project History dialog修改完成后,在提交时遇到如下错误:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook显然此情况是svn服务端设置的问题,版本在提交后不允许修改log.需要在服务端添加一个hook来允许l

git修改已提交记录的注释

已提交暂存区但还未提交远端仓库 命令:git commit --amend -m 已提交远端仓库 命令:git rebase 可以参考:http://www.cnblogs.com/dudu/p/4705247.html

svn 撤销 已提交的修改

1.保证我们拿到的是最新代码: svn update 假设最新版本号是28. 2.然后找出要回滚的确切版本号: svn log [something] 假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件.目录或整个项目 如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something] 3.回滚到版本号25: svn merge -r 28:25 something 为了保险起见,再次确认回滚的结果: svn diff [someth

CentOS下的svn强制用户提交时写日志

问题:在项目提交时候不写日志,在后期查看修改历史时需要对比版本才知道提交原因.解决方案:在svn服务端通过hooks在提交时强制要求写日志.#!/bin/shREPOS="$1"TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$L

SVN 撤回已提交的代码

1. TortoiseSVN -----> Show log 2.右键点击你想撤回的提交 -> Revert changes from this revision ----->Revert ----->OK Revert changes from this revision:复原此版本作出的修改( 这个操作会恢复本文件未提交前的版本(代码)) 步骤二只是让你本地的代码回滚(撤回)到你未提交前的一个版本,并不会更新到SVN服务器上,也就是说你的同事依然能更新到你错误提交的代码. 执行

git修改已提交commit的内容

假设我们需要修改倒数第三个commit的内容 1.首先调用`git rebase` git rebase -i HEAD~3 此时会产生如下的提交列表 pick f7f3f6d changed my name a bit pick 310154e updated README formatting and added blame pick a5f4a0d added cat-file # Rebase 710f0f8..a5f4a0d onto 710f0f8 # # Commands: # p

git 修改已提交的注释

在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息 修改最后一次提交注释 git commit --amend 然后在出来的编辑界面,直接编辑注释的信息,保存退出 git rebase -i HEAD~3 git使用amend选项提供了最后一次commit的反悔.但是对于历史提交呢,就必须使用rebase了. 修改push后的历史提交注释 这个命令出来之后,会出来三行东东: pick:******* pick:******* pick:******* 如果你要修改

svn如何根据提交日志信息回退版本

问题场景: 1 记得提交的日志信息中包含openssl,但是不记得这次提交的版本号revesion,是svn初始化后中间的某次提交: 2 svn环境的操作系统平台为Fedora, 即命令行下:而且svn log的提交记录有12659条: [root@localhost v2.1]# svn log | grep r | wc -l12659 解决办法: step1  查找提交日志信息对应的版本号 r33178 [root@localhost v2.1]# svn log --search ope

SVN提交版本,字母提示的含义

A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify and merGed,本地文件修改并且和服务器的进行合并 U:update,从服务器更新 R:replace,从服务器替换 I:ignored,忽略 SVN提交版本,字母提示的含义