You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求TortoiseSVN的Pre-lock钩子脚本:锁定前自动更新目标文件

适用于TortoiseSVN的Pre-lock自动更新钩子脚本

服务器端配置步骤

  1. 找到你的SVN仓库根目录下的hooks文件夹,复制其中的pre-lock.tmpl模板文件,重命名为对应系统的脚本文件:
    • Windows系统:命名为pre-lock.bat
    • Linux系统:命名为pre-lock(保留无扩展名)

Windows批处理脚本(直接复制使用)

将以下内容粘贴到pre-lock.bat中:

@echo off
setlocal

:: 获取SVN钩子自动传入的参数:待锁定文件路径、仓库路径
set "TARGET_FILE=%1"
set "REPO_DIR=%2"

:: 调用SVN命令行更新目标文件,若svn.exe不在系统PATH,替换为完整路径(示例:"C:\Program Files\TortoiseSVN\bin\svn.exe")
svn update "%TARGET_FILE%" --non-interactive

:: 返回0允许锁定操作继续,返回非0则终止锁定
exit 0

Linux Shell脚本(直接复制使用)

将以下内容粘贴到pre-lock中,再执行chmod +x pre-lock赋予执行权限:

#!/bin/sh

# 获取SVN钩子自动传入的参数
TARGET_FILE="$1"
REPO_DIR="$2"

# 执行文件更新操作,若svn命令不在PATH需写完整路径
svn update "$TARGET_FILE" --non-interactive

# 返回0允许锁定继续
exit 0

关键注意事项

  • 确保服务器已安装SVN命令行工具(TortoiseSVN安装时可勾选"Command Line Tools"组件),脚本中svn命令路径需正确。
  • 运行SVN服务的系统用户需具备执行脚本、访问仓库文件的权限,否则脚本会执行失败。
  • 测试时可手动运行脚本,传入目标文件路径和仓库路径,验证更新是否正常执行。

内容的提问来源于stack exchange,提问作者pio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:14:57