昨天,我想在SVN上修改一个文件的注释,但提交时提示:
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 uncahnaged
Error setting property "log":
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
google了一下,有两种解决办法。
第一种是直接在svn服务器上的工程库目录下 hooks 目录下新建一个空的 pre-revprop-change.bat即可,这样就好象没有对修改权限进行限制,如果是个人使用的服务器,可以这样处理,如果是项目组中使用,则建议采用下面的方法。
第二种方法跟第一种一样,新建一个pre-revprop-change.bat文件,然后把下面的内容粘贴到该文件中:
@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
至于在Linux/Unix上,则可以复制 hooks 目录下的 pre-revprop-change.tmpl 为 pre-revprop-change.sh,然后根据实现需要做相应修改即可。
分享到:
相关推荐
如果未正确配置此钩子,用户可能会收到错误提示:“此版本库不允许修改版本属性”。这是出于安全考虑,防止不适当的修改导致历史记录混乱。 在本案例中,提供的`pre-revprop-change.exe`文件是一个预设的钩子脚本,...
TortoiseSVN是一款在Windows操作系统上广泛使用的Subversion(SVN)客户端工具,它以图形用户界面的形式提供版本控制系统的服务。在某些情况下,当用户的TortoiseSVN客户端版本较高,而服务器上的Subversion服务端...
Subversion是开源的软件版本控制系统,它允许开发者在多个用户之间共享和同步代码,同时跟踪每一次修改,便于历史回溯、协作和版本控制。 【描述】"svn服务器,svnServer,32位管网下载的"说明了这是一个32位版本的...
它允许团队成员协同工作,记录每次更改,以便于回滚到以前的版本,解决冲突,并保持代码库的一致性。在Windows环境下,我们可以使用SVN服务器程序来搭建一个本地或远程的代码仓库。 本压缩包提供的内容包括了SVN...
Subversive 和 Subclipse 是两种常见的Eclipse SVN 集成插件,它们将SVN的功能无缝地整合到Eclipse IDE中,允许开发者在不离开IDE的情况下进行版本控制操作。Subversive 提供了与Eclipse平台更紧密的集成,而...
本文将深入探讨“svn强制写日志hooks”这一主题,它与Subversion的钩子脚本(hooks)密切相关,这些脚本允许在执行特定操作时执行自定义的服务器端逻辑,例如提交日志消息。 首先,了解“hooks”在svn中的作用至关...
在Windows环境下,为了实现SVN客户端的修改日志功能,并确保用户只能修改自己的日志记录,可以通过自定义预处理脚本来实现这一目标。以下是具体步骤: - **步骤一:** 在SVN仓库的`hooks`目录下,找到`pre-revprop-...
虽然在SVN服务器和客户端的上下文中,JSON不直接参与版本控制,但JSON在现代Web应用和API接口中广泛用于数据传输,可能在与SVN交互的某些自动化脚本或服务中用到。 使用SVN可以带来以下优势: 1. 版本控制:记录每...
在配置SVN之前,首先需要在服务器上安装SVN服务端软件。常见的选择有Apache HTTP Server(通过mod_dav_svn模块提供SVN支持)和VisualSVN Server,它们分别适用于Linux和Windows操作系统。 1. 对于Linux系统: - ...
在Windows操作系统中自建SVN(Subversion)服务器是一项实用的技能,对于团队协作和代码管理至关重要。Subversion是一款开源的版本控制系统,它允许用户跟踪和控制文件和目录的变更,便于多人协作开发。以下是对如何...
开发人员可以将本地工作副本与服务器上的最新版本同步,提交自己的更改,同时查看和解决冲突。此外,TortoiseSVN还提供了强大的日志查看功能,可以追溯文件的历史版本和变更详情。 对于团队协作,SVN提供了一种有效...
1. **安装与配置**:在各种操作系统上(如Windows、Linux、macOS)安装SVN服务器,通常涉及安装服务器软件,如VisualSVN Server(Windows)、Apache Subversion(跨平台)或CollabNet Subversion Edge(提供Web界面...
"svn windows版本 1.8.4"是Subversion在Windows上发布的1.8.4版本,它包含了对Windows系统优化的支持和一些特有的功能。 Subversion 1.8.4 版本的主要特点和改进包括: 1. **性能提升**:这个版本针对Windows平台...
在Windows平台上,我们可以利用SVN的命令行工具以及系统自带的任务计划程序,实现SVN仓库的自动备份。下面将详细介绍如何配置和使用SVN自动备份脚本。 1. **SVN基础** SVN的核心功能是追踪文件和目录的更改,它...
1. **选择服务器平台**:SVN服务器可以运行在多种操作系统上,如Windows、Linux或macOS。Apache HTTP Server上的SVN(也称为mod_dav_svn)和VisualSVN Server是常见的选择。 2. **安装服务器软件**:根据所选平台,...
- **更新(Update)**:获取SVN服务器上的最新版本到本地。 - **合并(Merge)**:合并另一个分支或版本中的更改到当前工作区。 - **解决冲突**:当两个开发者对同一文件进行了不同的修改时,需要手动解决冲突。 - *...
5. **添加(Add)**:新创建的文件或文件夹默认不在Svn的控制下,需右键选择“ Add ”将其纳入版本控制。 6. **忽略(Ignore)**:有时你可能希望Svn忽略某些文件或文件夹,比如日志文件或临时文件,通过“ TortoiseSVN...
日志可以帮助追踪谁做了什么修改,冲突解决机制帮助团队处理多人同时修改同一文件的情况,而版本回滚则允许我们撤销不希望的更改。 总的来说,SVN服务器的安装和配置是团队协作开发的重要环节,它提供了高效、可靠...
本教程将详细介绍如何在Windows XP系统上安装和配置SVN服务器端以及客户端。 一、安装SVN服务器端 1. 下载安装VisualSVN Server:首先,你需要访问VisualSVN官网下载VisualSVN Server的安装包,这是在Windows平台...
4. **使用说明资料**:这部分内容可能包括官方文档、教程、快速入门指南等,帮助用户了解如何创建和配置SVN仓库,如何克隆、添加、提交、更新代码,以及解决可能出现的问题。这些资料对初学者尤其有价值,能加速他们...