Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sinakarimi7/gitlab-backup

Clone all projects in Gitlab account by group at once.
https://github.com/sinakarimi7/gitlab-backup

backup clone gitlab gitlab-api sanction

Last synced: 23 days ago
JSON representation

Clone all projects in Gitlab account by group at once.

Awesome Lists containing this project

README

        

                                      
![Python][python-shield]
[![GitHub Issues][issues-shield]][issues-url]
![Contributions welcome][contributions-sheild]
[![License][license-shield]][license-url]





Gitlab-Backup-Logo

Gitlab Backup Tool


Clone all projects in Gitlab account by group at once.


Report Bug
·
Request Feature

## Table of Contents

- [About](#about-the-project)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
- [Contact](#contact)

## TLDR; The last stand before sanctions...


tweet





In last days, `GitLab` has decided to **block** Iranian accounts from _contributing_ and being part of the **open-source** ecosystem.

They didn't send any messages before this decision and our codes and projects have been locked!


> "Although we understand GitLab might make this decision under the pressure of the US government, we were expecting a more respectful action from GitLab.

**GitLab blocked our access to private repositories suddenly, but at the very least we wanted GitLab to warn us before limiting our access.**

**GitLab decided to take one step further and ban every user that used Iran's IP address somewhere their history no matter where she/he is living, while they could just restrict access by IP address like other US-based companies. This action is a kind of ban by nationality.**

_Let us **download** our private repositories and gists and also make them public (setting control)._

Some text above belong here but repeated again:
https://github.com/1995parham/github-do-not-ban-us

## Getting Started

You just get the GitLab token and put in this script.

### Prerequisites

This tool wrote in python language, so it needs:

- python3 or above (with pip)

### Installation

```sh
$ pip install gitlab-bk
```

## Usage

At first, you have to get `GITLAB_PERSONAL_ACCESS_TOKEN` from [here](https://gitlab.com/profile/personal_access_tokens).

> Ensure to check all scopes.


gitlab-pac-page

_For more examples, please refer to the [GitLab Official Documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)._

Then run script:


gitlab-usage-example

You can use with advanced options:

```
Usage: gitlab-bk [-t str] [--verbose] [-u str] [-o str] [-m str] [-v] [-h]

Gitlab backup tool, clone all project at once!

Required arguments:
-t str, --token str Gitlab personal access token

Optional arguments:
--verbose Enable verbose output
-u str, --url str Specify Gitlab instance URL
-m str, --method str Specify clone method (default is "http")
-o str, --output str Output directory (default is "./gitlab-backup")
-v, --version Show program's version number and exit
-h, --help Show this message and exit.
```

## License

Distributed under the MIT License. See `LICENSE` for more information.

[stars-shield]: https://img.shields.io/github/stars/SinaKarimi7/Gitlab-Backup.svg?style=flat-square
[stars-url]: https://github.com/SinaKarimi7/Gitlab-Backup/stargazers
[issues-shield]: https://img.shields.io/github/issues/SinaKarimi7/Gitlab-Backup.svg?style=flat-square
[issues-url]: https://github.com/SinaKarimi7/Gitlab-Backup/issues
[license-shield]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
[license-url]: https://opensource.org/licenses/MIT
[contributions-sheild]: https://img.shields.io/badge/contributions-welcome-orange.svg?style=flat-square
[python-shield]: https://img.shields.io/badge/python-v3.6+-blue.svg?style=flat-square