Skip to content

0.8.0 Публичные Repo из github и gitlab

Реализация

Создаётся repository_regestry:

  • uuid
  • тип внешнего источника
  • ссылка на источник - unique
  • время создания
  • статус синхронизации
  • текст ошибки
  • время последней синхронизации
  • размер дирректории
  1. Все публичные репозитории мигрируют из Repo в repository_regestry
  2. Придумать систему обновления по доменам. Процесс обновления должен уметь не дудосить репозитории, а постепенно методично обновляться.
  3. Нужна настройка параллельности и лимитирования числа запросов в еденицу времени
  4. Данные в repository_regestry обновляются каждые N часов через эту систему, с возможностью полного отключения этой функции
  5. Админ может принудительно заставить обновиться, процесс будет как при автоматическом. Но нужно дать возможность админу обновлять конкретные домены.
  6. Приватные репозитории админ обновлять не может
  7. Пользователь может нажать обновление у подконтрольного репозитория

Приватные:

Всё остаётся как раньше, они хранятся в единичном экземпляре для каждого repo отдельно и не попадают в repository_regestry

Публичные:

Хранятся на инстансе физически в единственном экземпляре

  • нужно проверить можно ли читать файлы множество раз через gitpython, от этого будет зависеть реализация, копирование или подмена uuid

Ожидаение

  1. У Repo будет плашка последнего обновления, его статуса и ошибки. Для публичных repository_regestry, для приватных эти поля появятся в repo
  2. Кнопка создания репозитория будет подменена, на кнопку поиска существующих репозиториев
  3. Появится ручка отдающая существующие публичные репозитории, с сортировками:
    • по числу unit
    • числу repo
    • датам
    • размеру
    • типу внешнего источника
    • статусу обновления
    • времени синхронизации - важно для админа
    • времени создания
    • поиск по description и name
  4. Хорошо бы парсить Description и некоторые базовые поля из readme.md для улучшенного поиска по публичным репозиториям
  5. Фикс проблемы github в интеграционных тестах
  6. Обновлены сами Интеграционные тесты