03.29 Git и электронная почта

  1. Такие дела.
  2. Задача_1: сформируйте патчсет, отправьте его по почте, "получите" и проверьте накладываемость.
    • Создание истории изменений:
      • Ниже приведен стишок из 20 строк. Считаем, что они пронумерованы с 0 по 19.
      • Создайте в репозитории ветку "master_20210329" и работайте на ней.
      • Создайте и закоммитьте текстовый файл "opilki.txt" с нижеприведённым стишком.
      • Выберите три разных номера строк по следующей схеме: рассчитайте сумму MD5 от ваших фамилии, имени, отчества (по отдельности), от каждого полученного числа возьмите остаток от деления на 20. Если два числа совпали, увеличьте (или уменьшите) одно из них на 5 (или на 7).
        • python3 -c 'import hashlib; print(hashlib.md5("Фамилия".encode()).digest()[0]%20)'

      • Для каждой из трёх строк с полученными номерами:
        • Измените эту строку, но так, чтобы текст оставался рифмованным (если нет склонности к стихосложению, просто перепишите строку заглавными буквами).
        • Сделайте отдельный коммит с изменением в этой строке, назовите его "Правка строки <номер_строки>".

    • Проверка: к этому моменту на ветке "master_20210329" должна быть история из четырёх коммитов: первоначальное занесение файла и три коммита с однострочными правками.
    • Создание и отправка патчсета:
      • Создайте подкаталог "patchdir".
      • При помощи команды git format-patch с ключом --output-directory создайте в подкаталоге "patchdir" патчсет из трёх последних коммитов (т.е. не включая первоначальное занесение файла).

      • С вашего любимого почтового сервера отправьте письмо с темой "<Фамилия Имя> патчсет для практикума 29.03", файлами патчсета во вложении, адресатами gkuryachiy@stud.cs.msu.ru и andrewchup@lvk.cs.msu.ru

    • "Получение" и применение патчсета:
      • Удалите (rm -rf) подкаталог "patchdir".

      • Создайте ветку "check_20210329" от коммита с первоначальным занесением файла "opilki.txt" и работайте на этой ветке.
      • Создайте подкаталог "patchdir_in".
      • Откройте в почтовой папке "Отправленные" (либо "Исходящие" и т.п.) ваше письмо с патчсетом. Сохраните вложенные файлы в подкаталоге "patchdir_in".
      • При помощи команды git am patchdir_in примените патчсет.

    • Проверка: на ветке "check_20210329" должна возникнуть история из трёх однострочных изменений.
    • Стишок из 20 строк:

Опять ничего не могу я понять.
Опилки мои – в беспорядке.
Везде и повсюду, опять и опять
Меня окружают загадки.
Возьмём это самое слово "опять".
Зачем мы его произносим,
Когда мы свободно могли бы сказать
"Ошесть", и "осемь", и "овосемь"?
Молчит этажерка, молчит и тахта –
У них не добьёшься ответа,
Зачем это хта – обязательно та,
А жерка, как правило, эта!
"Собака кусается"... Что ж, не беда.
Загадочно то, что собака,
Хотя и кусается, но никогда
Себя не кусает, однако...
О, если бы мог я всё это понять.
Опилки пришли бы в порядок!
А то мне – загадочно! – хочется спать
От всех этих Трудных Загадок!

LecturesCMC/PythonDevelopment2021/Prac/06_GitPatchEmail (last edited 2021-03-29 00:46:39 by hbd)