Передача параметров в SVN в скрипте PowerShell

Я пытаюсь автоматизировать процедуру, которая использует SVN, и я пытаюсь научить себя PowerShell (и сценариям) в процессе.

Я настроил сценарий PowerShell, который считывает значения номеров ревизий и путь к папке, например:

$GetSVN = read-host "Enter the SVN folder path: "
$RevStart = read-host "Enter the starting revision: "
$RevEnd   = read-host "Enter the ending revision: "

Затем он вызывает SVN и (пытается) передать параметры.

Вот моя проблема: когда я пытаюсь вызвать SVN следующим образом:

& "c:\Program Files\TortoiseSVN\bin\svn.exe" "-log -r $RevStart`:$RevEnd  $GetSVN"

Я получаю следующее сообщение:

svn: E205000: Non-numeric limit argument given
svn: E200004: Could not convert 'og -r BASE:#### [SVN file path]' into a number

В порядке Хорошо. Я попытался добавить лишний пробел перед "-log". Но когда я это делаю, вот что происходит:

Unknown subcommand: ' -log -r BASE:#### [SVN file path]'

А?!? Что с этим происходит? Я пробовал разные варианты этого, но все безрезультатно. Я не могу найти ответ на это нигде. У кого-нибудь есть понимание?

Я новичок в сценариях PowerShell, так что не стесняйтесь отвечать как таковые.

Заранее спасибо.,,

1 ответ

Решение

Ваш звонок неправильный, несколько параметров сгруппированы как один. Лучший и правильный способ сделать это так:

set-alias svn "c:\Program Files\TortoiseSVN\bin\svn.exe" 
svn log -r $RevStart`:$RevEnd $GetSVN

Настройка псевдонима это косметика. Настоящая проблема была " размещение.

Другие вопросы по тегам