gitlab-backup-util-harduino
v2.0.1
Published
A small utility to backup or clone all projects you have on gitlab.
Downloads
4
Readme
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:[email protected]/group/project.git (fetch)
origin https://username:[email protected]/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
- [✔] If the repository already exists,
- [ ] Gui for entering token