Как стать автором
Обновить

Комментарии 13

Ну, насколько я понимаю, в силу устройства git'а репы будут локальными если с ними работал. Т.е. код хранится распределённо by construction. А вот вся проприетарщина GH - issues, MR и т.д. - они проприетарны и с ними ничего толком не сделать.

Как вариант, развернуть локальную копию gitlab и клонировать репы через импорт. При импорте, копируется большинство сущностей - PR, Issues, labels.

Дальнейшая синхронизания, к сожалению, только за деньги.

Gitlab, в докере, разворачивается одной командой)

И жрёт 8(!) Гигабайт оперативы. Я с дури себе развернул, теперь хочу на gitea уйти

У меня на 2гб виртуалке нормально живёт со свапом на 4гб ;)

да, согласен с тем, что для комфортной работы с гитлабом на 50 пользователей и гитлаб регистри (и прочими возможностями) - лучше иметь минимум 2 ядра и 6 гиг памяти, иначе тормозит, как не знамо что

ну автор там в статье упоминал что у него куча реп и кроме кода больше ничего нет...

пара вопросов:

  • почему golang, а не просто bash?

  • во многих репо есть секреты, как их сохранить тоже? (Encrypted secrets - GitHub Docs)

Спасибо. Скажите, а для sourceforge есть у вас такой же скрипт?

Использую такое код уже несколько лет.

REPOSITORIES=$(curl -s https://api.github.com/users/NAME/repos?per_page=1000 | jq -r '.[] | select(.fork == false).clone_url')
for REPOSITORY in $REPOSITORIES; do
  git clone $REPOSITORY
done

После удаления zinit репы автором пришлось напрячься и накидать небольшой скрипт и повесить его на systemd service


repos=(<список реп тут>)

pr_dir=/data/work/projects
for repo in "${repos[@]}"
do
  mkdir -p /tmp/$repo
  cd $pr_dir

  if [ ! -d "$pr_dir/$repo/.git" ]; then
    echo "No .git dir"
    gh repo clone $repo $repo > /tmp/$repo/clone.log
  fi

  echo "Sync github repo: $repo"
  gh repo sync $repo

  cd $pr_dir/$repo
  echo "Inside $(pwd)"

  git pull > /tmp/$repo/pull.log
done
notify-send --urgency=normal 'Github sync service' "Github repos were synced"
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.