Объяснения о коде

У меня есть какой-то сценарий, и я понятия не имею, что он делает, буду счастлив, если кто-нибудь объяснит мне:

#!/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 клиент репозитория исходного кода

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