Ответ эксперта

Как передать репозиторий проекта на Python, чтобы сохранить историю изменений?

Вопрос по направлению: Экспертиза исходного кода на Python

Ответ

Репозиторий — это хранилище исходных текстов, в котором сохраняется каждая правка. Передавать нужно его полную зеркальную копию, а не архив рабочего каталога. Архив сохраняет только последнее состояние файлов: истории, веток, меток и сведений о слияниях в нём нет, поэтому вопросы о датах остаются без ответа. Зеркальная копия создаётся штатными средствами одной командой.

До копирования важно ничего не «прибирать»: не выполнять принудительную перезапись веток, перебазирование, удаление веток и меток. Такие операции уничтожают именно те следы, которые предстоит исследовать. Это относится и к секретам: в проектах на Python пароли и ключи нередко попадают в историю вместе с файлами настроек, но вычищать их оттуда не нужно — правильное решение отозвать эти ключи и выпустить заново, завершив перевыпуск до передачи материалов, а историю оставить нетронутой. Учтите, что зеркальная копия переносит не всё: локальный журнал перемещений веток и удалённые из истории объекты в неё не попадают.

Вместе с копией передайте контрольные суммы и сведения о том, откуда, когда и кем она выгружена. Если экспертиза уже назначена, материалы идут не напрямую эксперту, а через суд или орган расследования.

Актуализировано
Обсудить задачу

Нужна экспертиза или консультация?

Опишите ситуацию и цель обращения. Мы определим нужный вид исследования, подберём профильного эксперта и поможем подготовить вопросы и материалы.

  • Подберём специалиста
  • Поможем с вопросами
  • Оценим срок и стоимость
Оценить материалы или позвоните 8 (800) 333-24-09 Бесплатный звонок по России