windows操作系统,svn hook 脚本无执行权限的解决方案

今天遇到一个问题如下:

svn hook 脚本手工以管理员身份执行,正常执行任务;但是正常通过hook调用就报错,意思是拒绝访问,不能执行。

解决方案如下:

1.打开windows服务管理面板。

2.VisualSVNServer(VisualSVN HTTP Service)服务。

3.点击登录选项卡。

4.登录身份下载本地系统账户。

5.勾选运行服务与桌面交互。

如此简单之方案,我用8个小时才解决,不过也让我对SVN和windows服务的理解更加深入了。

希望此方案能为奋斗在一线的、遇到同样问题的程序员小伙伴们节省一些时间。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我为你详细介绍如何编写Windows下的SVN hookSVN hook是Subversion版本控制系统中的一种机制,用于在版本控制操作(如提交、更新、合并等)发生时触发自定义操作。SVN hook分为客户端钩子和服务器端钩子两种,客户端钩子是客户端本地的操作,而服务器端钩子则是服务器端的操作。 在Windows下编写SVN hook需要使用到Windows下的批处理文件(.bat)或者PowerShell脚本(.ps1)。下面以pre-commit钩子为例,介绍如何编写Windows下的SVN hook。 1. 打开SVN服务器的hooks目录,通常位于SVN安装目录下的hooks目录中。 2. 在hooks目录下新建一个名为pre-commit.bat的文件,并在文件中编写以下内容: ```bat @echo off setlocal set REPOS=%1 set TXN=%2 rem 获取提交的日志信息 svnlook log %REPOS% -t %TXN% > %TEMP%\log.txt rem 在此处添加你的操作,比如修改日志信息、验证代码规范、检查权限等 rem 验证通过则终止脚本,不通过则输出错误信息并终止提交操作 exit 0 ``` 在上面的代码中,我们使用了svnlook命令获取提交的日志信息,并将日志信息保存到临时文件中。你可以在rem注释后的位置添加你的操作,例如在此处修改日志信息、验证代码规范、检查权限等。如果验证通过,则使用exit 0命令终止脚本,否则输出错误信息并使用exit 1命令终止提交操作。 3. 将pre-commit.bat文件保存到hooks目录中,然后给该文件设置可执行权限。你可以使用以下命令设置该文件的可执行权限: ```bat C:\> chmod +x C:\svn\repos\hooks\pre-commit.bat ``` 4. 最后,你需要在SVN服务器的hooks目录下创建一个pre-commit文件,并将以下内容写入该文件: ```bat C:\svn\repos\hooks\pre-commit.bat %1 %2 ``` 该文件会调用pre-commit.bat脚本,并传递SVN提交时的参数。现在,每次用户提交代码时,pre-commit钩子都会被触发,实现你预先编写的操作。 总的来说,Windows下的SVN hook与Linux下的SVN hook基本上是一样的,只是编写脚本时需要使用Windows下的批处理文件或PowerShell脚本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值