2.0.1 • Published 3 years ago

gitlab-backup-util-harduino v2.0.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

GitlabBackupUtil

A Small utility to backup all of your gitlab repositories to local filesystem. You never know when international laws change and you loose access to your repos.

Harduino's Fork Info

This repo contains fixes and improvements. I needed to make backups for all projects listed in https://gitlab.com/dashboard/projects, and original repo didn't do that for some repos, i.e. did partial backup.

Changes:

  • refactor algorithm to form projects-to-backup. Original version formed personal projects (/api/v4/user.id/projects) & groups (/api/v4/groups, /api/v4/groups/group_id/projects). In this version that requests replaced with paginated retrieving all projects with your membership (/api/v4/projects/?membership=true).
  • add pagination for retrieving projects list as Gitlab's max per_page value is set to 100
  • fix & improve calculating of result folder. It was incorrect when you use custom Gitlab URL.
  • fix Gitlab asked for creds even if you gave it token
  • remove --verbose flag and enable verbosity (without sensitive information) by default

! Please note, that in this fork Gitlab's credentials (username+token) will be stored in repo's remote url for every backed up repo, e.g.

git remote -v
origin https://username:token@gitlab.com/group/project.git (fetch)
origin https://username:token@gitlab.com/group/project.git (push)

How to Backup

Backup using http (default)

npm install -g gitlab-backup-util-harduino
gitlab-backup-util-harduino -t 'your-gl-token-here'

Backup using ssh

gitlab-backup-util-harduino -t 'your-gl-token-here' -m ssh

Future Scope

    • If the repository already exists, git pull instead of cloning
    • Gui for entering token

Thats It :rocket:, Now go backup