VISUALSVN Post-Commit Hooks - 获取回购名称

时间:2014-09-22 17:55:25

标签: svn repository visualsvn-server visualsvn

如何从VISUALSVN Post-Commit Hook中获取回购名称?

@echo off
set PWSH=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
%PWSH% -command $input ^| C:\temp\post-commit.ps1 %1 %2 'demo''
if errorlevel 1 exit %errorlevel%

我想用回购名称替换字符串' demo'

类似以下 $ reponame

@echo off
$reponame = SOME CODE TO GET REPO NAME
set PWSH=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
%PWSH% -command $input ^| C:\temp\post-commit.ps1 %1 %2 '$reponame'
if errorlevel 1 exit %errorlevel%

2 个答案:

答案 0 :(得分:2)

由于%1包含repo路径,其中包含最后一个斜杠后面的repo名称(例如C:/Repos/testRepo),并且您将%1作为第一个参数传递到PowerShell中,只是提取PS脚本中的那个值:

 $repoPath = $args[0]
 $index = $repoPath.LastIndexOf("/")
 $repoName =  $repoPath.Substring($index + 1, $string.Length - $index - 1)

答案 1 :(得分:2)

我在2014年发布了这个问题,2017年我有一份工作副本。

以下代码与VisualSVN Server Post Commit Hook一起使用

工作代码

NotificationCenter.default.addObserver(forName: .CKAccountChanged, object: self, queue: nil) { notification in
     ...
}