如何从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%
答案 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
...
}