Объяснения о коде
У меня есть какой-то сценарий, и я понятия не имею, что он делает, буду счастлив, если кто-нибудь объяснит мне:
#!/bin/tcsh
if (-d test) then
svn up test
else
svn checkout http:some address test
endif
cd tests
python test_some.py $argv
PS не могу найти информацию о функциях CD и SVN
Заранее благодарю за любую помощь
4 ответа
Скрипт запускает второй тестовый скрипт с контролем версий
Этот скрипт запускает программу на Python, которая запускает некоторые тесты. Сценарий понимает, что тестовый каталог хранится в хранилище Subversion.
- Если есть тестовый каталог, он обновляет его, если он был изменен в хранилище, возможно, другим пользователем svn или тем же пользователем в другом рабочем каталоге.
- Если тестового каталога нет, он проверяет его.
- Затем он меняет свой текущий каталог на рабочий каталог.
- Затем запускается тестовый скрипт.
Я немного запутался в одном. Он проверяет "тест", но затем меняет свой каталог на "тесты". Так что либо в исходном посте есть ошибка транскрипции, либо происходит что-то более сложное, например, предполагается, что тесты существуют, но не тестируются.
cd, svn и python являются исполняемыми именами. cd - команда для изменения текущего каталога. svn - это команда (имя исполняемого файла) для системы управления версиями Subversion. Python является интерпретатором языка Python.
Сценарий выполняет следующие действия:
if the test folder exists
update it through subversion
else
check it out from subversion repository
go into the tests directory // interestingly enough, it doesn't match the checked out directory name?
run the test_some.py python file, passing the script arguments.
cd
это команда "Изменить каталог".
svn
клиент репозитория исходного кода