Я скопировал около 10000 репозиториев на локальный диск, чтобы провести некоторый анализ данных для университетского проекта.
До сих пор мне удавалось перебирать все папки с помощью сценария оболочки и извлекать комментарии, метки времени ии далее как CSV с использованием git log с некоторыми изменениями.
Теперь мне нужно извлечь все запросы на получение данных, включая заголовок, статус и дату.
Я уже пытался использовать API github, к сожалению, из-зак большому объему данных, мне нужно извлечь мой предел доступа к github в 5000 запросов / час, быстро достигает предела.
Вот почему я загрузил все данные на внешний диск.
Чтобы получитьизвлекать данные запроса из папок репо, которые я пытался использовать git в сочетании с log --merges и --first-parent.
К сожалению, я не получаю ожидаемых результатов.
#!/bin/bash
#the first script looks like this. Works fine so far.
#loop through repo folders
cat repolist.txt | while read repolist; do
#replace all "/" with "_" because of filename issues
reponame="$(echo "$repolist" | tr '/:?+' '_')";
#export results to textfiles with the right naming
git -C test/$repolist log --pretty=format:%ad,%h,%an,%cn,%ae,%s > "exportedfiles/"$reponame".csv";
done
## the second script looks like this so far
git -C folder/repofolder log --first-parent --merges >name.txt
ожидаемый результат должен дать что-то вроде: дата запроса на извлечение |заголовок запроса на извлечение |статус pull-запроса (объединить, закрыть, открыть)
Я благодарен за любые идеи по этой проблеме.