2016-04-12 2 views
1

Я пытаюсь автоматизировать процедуру, использующую 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]' 

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

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

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

ответ

3

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

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

Установка псевдонима - это косметика. Реальная проблема заключалась в размещении ".

+0

Не работает. Я все еще получаю то же сообщение. –

+0

Ничего, получилось! Он * работал *, но проблема заключалась в том, что я помещал «-» перед «журналом» (я забыл, что это недопустимый синтаксис). –

Смежные вопросы