Changes between Version 42 and Version 43 of WikiStart


Ignore:
Timestamp:
09/09/19 16:24:42 (5 years ago)
Author:
Egor Suvorov
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v42 v43  
    1 Процесс проверки ДЗ:
     1== Терминология ==
     2
     3"ДЗ" может использоваться как для больших домашних заданий, так и для еженедельных, даже в одном предложении.
     4
     5"Лабораторная" может использоваться только для недельных домашних заданий.
     6
     7== Процесс сдачи ДЗ ==
    28
    391. Для каждой домашней работы должна быть создана отдельная папка в Subversion-репозитории. Точное имя директории, а также список и названия исходных файлов, которые необходимо использовать, будут указаны в формулировке задачи. Не кладите в репозиторий ненужные файлы (файлы проектов, настройки IDE, бинарники и т. д.).
     
    1218
    1319Уважайте, пожалуйста, труд проверяющего преподавателя.
     20
     21== Подробная инструкция к сдаче первого ДЗ ==
     22
     23Если на любом этапе возникают проблемы — просите помощи (например, у своего преподавателя по практике).
     24Если какая-то команда не работает, но вы догадались, как её исправить — пожалуйста, напишите Егору Суворову, чтобы инструкцию обновили.
     25Даже если прочли инструкцию, прочитайте общие комментарии выше!
     26
     27Инструкция верна только **для первой лабораторной**.
     28Но даже первую лабораторную можно сдавать чуть другими командами.
     29
     301. Убедитесь, что у вас установлен клиент для [https://ru.wikipedia.org/wiki/Subversion системы контроля версий Subversion (SVN)]: запустите в консоли команду `svn --version`. Она должна вывести строчку вроде `svn, version 1.8.13` (точная версия неважна).
     31  * Если команда `svn` не найдена, поставьте клиент. Под Ubuntu это можно сделать командой `sudo apt-get install subversion`. Может потребоваться ввести пароль пользователя для запуска команды `sudo`.
     321. Найдите в почте письмо с темой `[HSE] C++ SVN repository`, отправленное примерно 5 сентября 2019. Там должны быть:
     33  * Ваш логин и пароль — они совпадают для Trac (страница, на которой вы сейчас находитесь) и SVN. Логин вида `lastname.firstname` (ваши фамилия и имя латиницей, разделённые точкой).
     34  * Также там должна быть ссылка на ваш личный SVN-репозиторий вида `https://trac.compscicenter.ru/hse-svn/cpp19/ivanov.ivan`.
     351. Убедитесь, что пароль работает: зайдите [https://trac.compscicenter.ru/hse/login на страницу логина Trac] и введите логин с паролем.
     361. В домашней папке создаёте папку `cpp2019`.
     371. В консоли зайдите в эту папку и выполните команду `svn checkout <адрес-вашего-репозитория>`, например, `svn checkout https://trac.compscicenter.ru/hse-svn/cpp19/ivanov.ivan`. Введите свой логин и пароль от SVN.
     38  * Если у вас сразу спрашивают пароль для пользователя вроде `osboxes.org` (т.е. вашего пользователя в Ubuntu), просто нажмите Enter, ничего не набирая, после чего `svn` спросит логин.
     39  * Теперь в текущей папке (`cpp2019`) появилась папка с названием `lastname.firstname`. В ней есть только скрытая папка с именем `.svn` — это нормально. Все файлы, положенные в эту папку (и только они) могут быть загружены в систему контроля версий. Она будет называться ''корнем личного репозитория''.
     401. Создайте внутри корня личного репозитория папку `lab_01` (регистр и нижние подчёркивания важны!).
     411. Создайте внутри папки `lab_01` папки `bin`, `include`, `src`, а также файл `Makefile` (регистр важен!).
     421. Скопируйте файлы `*.c` из задания внутрь папки `src`.
     431. Допишите `Makefile`, `*.c`-файлы, создайте нужные `*.h`-файлы внутри папки `include`.
     44  * При запуске команды `make` под Linux в папке `lab_01` без параметров в папке `lab_01` должен появляться исполняемый файл `lab1`. Под Windows можно создавать файл `lab1.exe` — в правильно написанном `Makefile` это получится автоматически, специально для Windows ничего делать не надо.
     451. Проверьте, что решение корректно.
     461. Закрепите изменения в репозитории (см. ниже).
     471. Перейдите на страницу https://trac.compscicenter.ru/hse/newticket и создайте новый тикет.
     48  1. В поле `Summary` впишите `WW #1`.
     49  1. Поле `Reporter` оставьте без изменений, тут должен быть ваш логин в Trac и SVN.
     50  1. В поле `Type` оставьте `ожидается проверка`.
     51  1 В поле `Component` выберите `WW_make`.
     52  1. В поле `Version` выберите `1.0`.
     53  1. В группе `Action` выберите `assign to` и в поле справа впишите логин преподавателя (фамилия латиницей): `sokolov`, `sviridkin`, `lapshin`, `suvorov`, `huletski`, `alferov`.
     54  1. Если хотите, можете написать комментарии по решению в поле `Description`. Вопросы лучше писать напрямую преподавателю.
     55  1. Нажмите кнопку "Create ticket"
     56
     57=== Исправление замечаний ===
     58Если вам пришли замечания, которые вы хотите исправить и попробовать сдать ещё раз:
     59
     601. Исправьте в папке `lab_01` все замечания.
     611. Проверьте, что решение корректно.
     621. Проверьте, что все замечания исправлены.
     631. Закрепите изменения в репозитории (см. ниже).
     641. Перейдите на страницу своего тикета. Если хотите, добавьте ответы на замечания в поле `Add comment` внизу. После этого откройте группу `Modify Ticket` и обновите свойства:
     65   1. Смените `Version` на более старшую: `1.0` на `2.0`, а `2.0` — на `3.0`. Версия `3.0` — это последняя попытка сдать.
     66   1. Смените `Type` на `ожидается проверка`.
     67   1. Остальные поля (в том числе `Description`) оставьте без изменений.
     68
     69=== Закрепление изменений в репозитории ===
     70Закрепление (commit) изменений в SVN происходит в две стадии, независимо от того, сдаёте вы домашнее задание в первый раз или исправляете.
     71
     721. Сначала вы отмечаете файлы, которые надо добавить/удалить из репозитория. Подключение к интернету для этого не требуется.
     732. После этого вы выполняете команду `svn commit`, которая просит указать комментарий к внесённым изменениям (опционально) и отправляет данные на сервер. Для этого требуется подключение к интернету.
     74
     75Как отмечать файлы:
     761. Перейдите в корень личного репозитория.
     771. Командой `svn status` выясните текущее состояние файлов в репозитории. Каждый файл/папка в необычном состоянии будет выведен отдельной строкой.
     78   * Знаком `?` отмечены файлы или папки, которые не добавлены в репозиторий ни в каком виде.
     79   * Знаком `A` отмечены файлы или папки, которые будут добавлены в репозиторий в ближайшем коммите.
     80   * Знаком `D` отмечены файлы или папки, которые будут удалены из репозитория в ближайшем коммите.
     81   * Знаком `M` отмечены файлы или папки, которые изменились по сравнению с последним коммитом. Эти изменения будут закреплены в ближайшем коммите.
     821. Если есть файлы, которые в репозиторий добавлять не требуется (например, исполняемый файл `lab1`), уберите их командой `svn rm --keep-local lab1`. Ключ `--keep-local` означает "удалить файл из репозитория, но не с жёсткого диска".
     831. Если есть папки или файлы, которые надо добавить (например, `bin`), добавьте их командой `svn add --non-recursive bin`. Ключ `--non-recursive` означает "не отмечай рекурсивно все файлы и папки из добавляемой папки".
     841. Командой `svn status` убедитесь, что в репозиторий отправляются только нужные файлы, а ненужные (объектные файлы, исполняемый файл, временные файлы для отладки) — не отправляются.
     85   * Вы также можете научить `svn` игнорировать файлы с определённым именем в произвольной папке, чтобы можно было обновлять всю папку рекурсивно — см. ниже (это не требуется для сдачи ДЗ).
     861. Выполните команду `svn commit` и введите комментарий к коммиту (опционально).
     87
     88=== Игнорирование файлов ===
     891. Если вы уже добавили ненужные файлы по ошибке, уберите их командой `svn rm --keep-local`
     901. Выполните команду `svn propedit svn:ignore` в папке, для которой требуется настроить игнорирование.
     911. В открывшемся текстовом редакторе напишите маски для имён файлов, которые надо игнорировать, по одной на строчку.
     92   * Например: `lab1` или `*.in`.
     931. Сохраните файл и закройте редактор.
     941. Командой `svn status` убедитесь, что все ненужные файлы теперь игнорируются, а папка с обновлённым правилами игнорирования помечена буквой `M`.
     95
     96=== Прочие любопытные команды ===
     97`svn log`, `svn diff`, `svn revert` — запустите их с ключом `--help` и загуглите, чтобы узнать, что они делают.