hexlet-friends icon indicating copy to clipboard operation
hexlet-friends copied to clipboard

Bug: Отображаются форкнутые репозитории

Open TarakanovAndrey opened this issue 1 year ago • 17 comments

Форкнутые репозитории отображаются вместе с основным. Организация обозначена только у основного. Остальные выглядят как клоны. Вопрос 1. Должны ли эти репозитории впринципе попадать в базу? Вопрос 2. Если должны, то необходимо ли добавлять обозначать, что это fork repository?

TarakanovAndrey avatar Nov 02 '23 15:11 TarakanovAndrey

@TarakanovAndrey можете скрин показать? ИЗ текущего описания непонятно в чем проблема. Если вы форкнули проект и в нем ведете работу, то почему бы ее не учитывать? :thinking:

fey avatar Nov 02 '23 19:11 fey

Screenshot from 2023-11-03 10-10-23

TarakanovAndrey avatar Nov 03 '23 07:11 TarakanovAndrey

@TarakanovAndrey можете скрин показать? ИЗ текущего описания непонятно в чем проблема. Если вы форкнули проект и в нем ведете работу, то почему бы ее не учитывать? 🤔

Вот так это выглядит сейчас. Я сначала подумал, что баг. Потом выяснил, что все это форкнутые репы. Но возникает некотрое замешательство, когда видиш такой список. Может стоит рассмотреть каким-либо образом маркировать форкнутые репы?

TarakanovAndrey avatar Nov 03 '23 07:11 TarakanovAndrey

давайте выводить фулл нейм + лейбл форка. фулл нейм это username/repo-name.

fey avatar Nov 07 '23 13:11 fey

Чтобы протетстить, надо выполнить fetchdata локально для форкнутого репозитория. Пытаясь выполнить make sync RubanovDmitriy/hexlet-friends я получаю ошибку - Forbidden for url: https://api.github.com/users/Hexlet из чего вопрос, нужно этого юзера в collaborators добавить?

image

И по самой задаче, "выводить фулл нейм + лейбл форка" т.е. на моём привере, то ожидаемое поведение должно быть: RubanovDmitriy/hexlet-friends/Python ? Python я взял из модели Label. Если нет, то прошу уточнить что такое "лейбл форка"

RubanovDmitriy avatar Nov 16 '23 10:11 RubanovDmitriy

RubanovDmitriy/hexlet-friends/Python

Точнее будет RubanovDmitriy/hexlet-friends + бейдж (Fork) aka label Вот как в доке бутстрапа: https://getbootstrap.com/docs/5.0/components/badge/

fey avatar Nov 16 '23 13:11 fey

Пытаясь выполнить make sync RubanovDmitriy/hexlet-friends я получаю ошибку - Forbidden for url: https://api.github.com/users/Hexlet из чего вопрос, нужно этого юзера в collaborators добавить?

Насчет этого не понял. По идее нам же не нужно юзеров добавлять в коллабораторы. Может у вас что-то не то с токеном?

fey avatar Nov 16 '23 13:11 fey

Пытаясь выполнить make sync RubanovDmitriy/hexlet-friends я получаю ошибку - Forbidden for url: https://api.github.com/users/Hexlet из чего вопрос, нужно этого юзера в collaborators добавить?

Насчет этого не понял. По идее нам же не нужно юзеров добавлять в коллабораторы. Может у вас что-то не то с токеном?

Затупил, надо было 'make sync ARGS="--repo RubanovDmitriy/hexlet-friends"' выполнять

RubanovDmitriy avatar Nov 17 '23 17:11 RubanovDmitriy

image Такой формат подойдёт?

RubanovDmitriy avatar Nov 17 '23 18:11 RubanovDmitriy

Да, отлично.

fey avatar Nov 18 '23 06:11 fey

  • PR https://github.com/Hexlet/hexlet-friends/pull/367
  • Render https://dr-hexlet-friends-issue-360.onrender.com/repositories/ В template добавлена проверка, если Repository.organization.name != 'Hexlet', то считаем репозиторий форкнутым. И на фронте показываем его full_name и бейдж Fork issue думаю можно на меня заасайнить

RubanovDmitriy avatar Nov 19 '23 07:11 RubanovDmitriy

Переделал с fork, он для этого нужна миграция. Сделал default=False надо будет на проде тогда для всех репозиториев свежие данные подтянуть, чтобы актуально обновилось. Другого способа пока не вижу.

RubanovDmitriy avatar Nov 21 '23 12:11 RubanovDmitriy

image актуально

fey avatar Feb 21 '24 16:02 fey

Возьму в работу

IlyaBag avatar Feb 21 '24 18:02 IlyaBag

Пожалуйста, осмотрите, как щас работает, на свежем репозитории. У нас есть проблема с актуализацией данных, возможно нужно написать скрипт, который проходится по текущим данным и обновляет их.

fey avatar Feb 22 '24 02:02 fey

А что с PR, предложенным выше? Мне стоит как-то ориентироваться на него? Сейчас в проекте, как я понял, всё ещё нет никакого разделения репозиториев на оригинал и форк.

IlyaBag avatar Feb 27 '24 11:02 IlyaBag

По идее я могу выгрузку в csv сделать, для анализа текущих данных в БД. У нас не работает толком загрузка свежих данных/синхронизация данных, поэтому возможно те репозитории, что есть - не отображаются как форки. Можно например такой вариант - берем список популярных реп (типа тот же hexlet-friends и для всех реп кроме Хекслетовского проставляем нужный флаг (если он появился в бд). Флажок можно будет через миграцию проставить

fey avatar Feb 27 '24 16:02 fey