Репозиторий
Содержание
Конспекты прошлых лет
План рассказа
Орг. Контрольная. И рассказать про контрольные – зачем они нужны.
- Разбор предыдущего задания:
- Множество Мандельброта задаётся следующим законом:
для каждой точки c комплексной плоскости строится последовательность 0, c, c2+c, (c2+c)2+c, ... (т. е. эта последовательность задаётся рекурентным отношением zi = zi-12 + c). Если последовательность ограничена, то такая точка считается принадлежащей множеству.
Аналитически определить, расходится ли эта последовательность для заданного значения c, кажется, невозможно. Поэтому мы считаем послеовательность расходящейся, если её 15-й член по модулю больше 10. Определите, принадлежат ли множеству Мандельброта точки: -2, -2 + 0.01i, -1.965 + 0.01i, -1.966 + 0.01i
Вычислите 4-ую и 6-ую строки, порождённые правилами xi = xi-1[1:-1] + "*" + xi-1[1:-1] с начальной строки "++--". Первые строки будут выглядеть так:
- '++--'
- '+-*+-'
- '-*+*-*+'
- Множество Мандельброта задаётся следующим законом:
- Орг. Задания vs Упражнения.
- Зачем нужны репозитории. (Много версий файла. Обмен с начальником. Что изменилось с того раза. Кто автор этой строки? В какой версии (и в каком месте) случилась ошибка? Несколько параллельных попыток развивать в разные стороны с обменом общей части изменений. ...).
- Бывает куча разных репозиториев: cvs, svn, git, mercurial, darcs, arch, bzr, ... (их очень много)
- Термины: рабочая директория, история. Как выглядит репозиторий.
- Основные действия с репозиторием: init, add, commit; зачем нужны комментарии; УЧИТЕ АНГЛИЙСКИЙ (почему?); log
- Начало интересного: clone; push, pull, update
- merge; fetch
- Хелпы и документация.
- Я ответил только на часть вопросов про репозитории. Дальше буду добавлять к этому в виде кусочков занятий.
- SSH-ключи, SSH-агенты
Контрольная работа
- Фамилия, Имя:
- Если бы вы были интерпретатором питона, что бы вы ответили:
Задание
Памятка: задание – то, что обязательно выполнить для получения зачёта; упражнения – необязательные, но как правило задание решить проще, если сначала выполнить все упражнения; если вы меня пнёте, выдам вам комментарии про то, что и как лучше, и по заданию, и по упражнениям.
См. пояснения к заданию ниже.
Цель: совместными усилиями написать файл, в котором каждый слушатель курса расскажет немного о себе. И при этом не подраться!
- Создайте пару SSH-ключей; скопируйте в буфер текст публичного ключа
- Сообщите kodomo о вашем публичном ключе, чтобы он открыл вам доступ к нужным репозиториям
- Запустите SSH-агента с вашим ключом. (Это придётся повторять каждый раз после включения компьютера, когда вы хотите работать с mercurial).
- Настройте для mercurial своё имя.
Скачайте к себе копию репозитория ssh://hg@kodomo.fbb.msu.ru/py2011-mercurial
- Откройте файл README в репозитории и выполните инструкции в нём.
необязательное. Подождите пять минут. Поглядите, что успело измениться за это время. (hg fetch и hg log | more будут пока что считаться вашими друзьями). hgweb
Пояснения к заданию
- Как создать пару SSH-ключей
- Отыщите в меню рядом с PuTTY программу puttygen
- Нажмите Generate
- Подвигайте мышкой над пустой областью (это нужно, чтобы ключ получился достаточно непредсказуемым) до тех пор, пока ключ не сгенерируется
В поле key comment напишите своё имя и название компьютера (например, Vasia Pupkin @ computer class1)
Поле passphrase оставляем для простоты пустым2.
- Нажмите save private key и придумайте, куда его сохранить.
Публичный ключ – это текст вверху окошка под заголовком "Public key for pasting into OpenSSH authorized_keys file". Выделите его мышкой и скопируйте!
- Как сообщить kodomo о вашем публичном ключе
- В большинстве случаев это делается письмом администратору репозитория (то есть мне). (Потому, что более дружественных интерфейсов для этого пока нету, увы). Но в данном случае, дабы сэкономить на этом время, мы воспользуемся скриптом, который делает это автоматически. Делается это так:
- Запустите PuTTY, зайдите на kodomo
- Запустите команду py2011-pubkey
Вставьте в терминал текст вашего публичного ключа (в PuTTY вставить из буфера – это нажатие правой кнопки мыши, а не так, как вы привыкли)
- Нажмите Control-D
- Поглядите на большую кучу красивых буковок, которая понаползла. Если они завершаются словами про то, что remote: added N changesets ... и словами no changes found, то значит, всё хорошо. Если нет, читайте внимательно, о чём оно выругалось.
- Как запустить SSH-агента с вашим ключом
- Отыщите в менюшке рядом со словом PuTTY слово pageant (и запустите его)
- В правом нижнем углу экрана появилось изображение компьютера в шляпе. Щёлкните по нему.
Add key – и отыщите файл с вашим приватным ключом
- Как настроить своё имя для mercurial
Положите в файл H:\.hgrc текст:
[ui] username = Vasily Pupkin <vaspup@kodomo.fbb.msu.ru>
- Как скачать к себе репозиторий
- Откройте FAR.
- Зайдите в ту директорию, в которой вы хотите, чтобы возникла директория с репозиторием (команда hg clone создаст директорию тоже)
- Наберите в командной строке:
hg clone ssh://hg@kodomo.fbb.msu.ru/имя_репозитория
Раз все компьютеры в классе одинаковые и диск у них общий, было бы странно их различать (1)
Это допустимо, покуда мы пользуемся ключом только для того, чтобы скачивать репозитории с kodomo, однако, если вы вознамеритесь пользоваться этим SSH-ключом для чего-либо ещё, нужно будет основательно подумать, оставлять ли ключ незашифрованным. (2)