当前位置:  开发笔记 > 编程语言 > 正文

我可以回去编辑SVN签到的评论吗?

如何解决《我可以回去编辑SVN签到的评论吗?》经验,为你挑选了5个好方法。

我在SVN的评论中犯了一个错误.签到后可以编辑吗?



1> Paul Dixon..:

提交消息是"无版本属性",例如,可以使用svn propset命令进行更改

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

这是在修订版25上设置名为"svn:log"的修订版属性

配置subversion以允许更改属性更改

因为这些是无版本的,所以除非您提供pre-revprop-change挂钩脚本,否则默认安装的subversion将不允许您修改这些属性 .

这是一个典型的脚本,来自我的系统上的/ var/lib/svn/hooks/pre-revprop-change:

#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then 
  echo "$1 $2 $3 $4 $5" >> /var/lib/svn/logchanges.log
  exit 0; 
fi

echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1

这会将更改记录到svn:log revision属性,并允许使用exit 0进行编辑,使用exit 1拒绝任何其他修订属性更改.请参阅patmortech的Windows等效答案.



2> patmortech..:

要启用修订属性修改,需要创建pre-revprop-change挂钩脚本.可以在这里阅读:http://svnbook.red-bean.com/en/1.0/ch05s02.html(查找Hook Scripts部分).

对于Windows,这里是一个示例批处理文件的链接,该文件仅允许更改日志消息(而不是其他属性):http://ayria.livejournal.com/33438.html.基本上将下面的代码复制到一个文本文件中,并将其命名为pre-revprop-change.bat并将其保存在存储库的/ hooks子目录中.

@ECHO OFF
:: Set all parameters. Even though most are not used, in case you want to add
:: changes that allow, for example, editing of the author or addition of log messages.
set repository=%1
set revision=%2
set userName=%3
set propertyName=%4
set action=%5

:: Only allow the log message to be changed, but not author, etc.
if /I not "%propertyName%" == "svn:log" goto ERROR_PROPNAME

:: Only allow modification of a log message, not addition or deletion.
if /I not "%action%" == "M" goto ERROR_ACTION

:: Make sure that the new svn:log message is not empty.
set bIsEmpty=true
for /f "tokens=*" %%g in ('find /V ""') do (
set bIsEmpty=false
)
if "%bIsEmpty%" == "true" goto ERROR_EMPTY

goto :eof

:ERROR_EMPTY
echo Empty svn:log messages are not allowed. >&2
goto ERROR_EXIT

:ERROR_PROPNAME
echo Only changes to svn:log messages are allowed. >&2
goto ERROR_EXIT

:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed. >&2
goto ERROR_EXIT

:ERROR_EXIT
exit /b 1


+1在我的回答中我忘了这个,已经发布了linux等价物
可以链接到此站点上已有的答案,例如http://stackoverflow.com/questions/6155/common-types-of-subversion-hooks/68850,再次复制/粘贴,以便单个引用可以随着时间的推移得到改

3> Kit Roed..:

在不必创建pre-revprop-change挂钩脚本的情况下快速更改日志消息的方法是使用以下svnadmin 命令:

svnadmin setlog --bypass-hooks REPOS_PATH -r N FILE

其中REPOS_PATH是服务器上存储库的路径(例如/ srv/svn/repository),N是修订号(例如25),FILE是包含正确提交日志条目的文本文件.

两件事:这需要文件系统访问存储库文件,但创建一个pre-revprop-change钩子脚本也是如此......其次,这个命令将绕过任何可能存在的钩子脚本,所以建议使用...



4> 小智..:

使用Tortoise SVN将使您非常轻松.只需打开日志消息窗口,右键单击要编辑的修订日志,然后从上下文菜单中选择"编辑日志".



5> Aung Chan My..:

在Tortoise SVN中,您可以按照以下步骤操作.
1.转到资源库浏览器.
2.右键单击要处理的文件夹.
3.单击"显示日志".
4.在修订列表中,选择并右键单击所需的修订.
5.单击"编辑日志消息".

您现在可以在svn checkin修订版中编辑您的评论.

谢谢!

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有