如何在powershell中使用SVN-commit

时间:2017-04-18 13:23:50

标签: powershell svn

我想在PowerShell脚本中使用SVN命令。

我知道我需要将SVN可执行文件声明为变量,但之后我想提交一个我声明为变量的文件,并且我想在文件中指定我想要提交的提交消息。

$svnExe = "C:\Program Files\TortoiseSVN\bin\svn.exe"
$myFile = "C:\xx\file.txt"
$commitMsg = "C:\xx\msg.txt" 

$myFile已经是版本化文件,$commitMsg不是,也不是版本化文件。

从命令行开始,这有效:

svn commit -F C:\xx\msg.txt C:\xx\file.txt

但是如何使用PowerShell执行此操作?

1 个答案:

答案 0 :(得分:5)

Svn在PowerShell中的工作方式与在命令提示符中的工作方式相同。如果你定义一个带有可执行文件完整路径的变量,你需要通过call operator&)运行它,因为否则PowerShell会简单地回显字符串,并对其余的字符串感到困惑。命令行。

$svn = 'C:\Program Files\TortoiseSVN\bin\svn.exe'
$myFile = 'C:\xx\file.txt'
$commitMsg = 'C:\xx\msg.txt'

& $svn commit -F $commitMsg $myFile

如果将Svn目录添加到路径环境变量中,则只需直接调用可执行文件:

$env:PATH += ';C:\Program Files\TortoiseSVN\bin'

...

svn.exe commit -F $commitMsg $myFile

另一种选择是为可执行文件定义别名:

New-Alias -Name svn -Value 'C:\Program Files\TortoiseSVN\bin\svn.exe'

...

svn commit -F $commitMsg $myFile