gitlobster 0.0.1

A tool for cloning all available repositories in a GitLab instance
# Gitlobster

**_A tool for cloning all available repositories in a GitLab instance._**

Inspired by [gitlabber](https://github.com/ezbz/gitlabber).

<br>
<br>

<p align="center">
    <img src="https://github.com/lowitea/gitlobster/raw/master/logo.png">
</p>

<br>

## Features

- Cloning all available repositories from a Gitlab instance to a local folder while preserving the directory tree
- Clone all branches
- Update all cloned repositories
- Clone new repositories that have appeared
- Push the cloned repositories to a new GitLab instance, keeping the directory tree

## Install (TBD)

[//]: # "TODO: Write a complete installation guide"

```shell
cargo build --release
```

## Usage

```shell
gitlobster -t token -u url DESTINATION_DIR
```

## TODO

- [x] Clone all available repositories from a Gitlab instance to a group on another GitLab instance while preserving the
      directory structure
- [x] Add include/exclude patterns
- [x] Add show option for only show repositories list
- [x] Add config by environment variables
- [x] Add debug option
- [x] Add limit option
- [x] Add per-page-for-fetch option
- [x] Add parallel cloning
- [x] Add cloning by http(s)
- [x] Add tests
- [x] Add download only user project
- [x] Add github actions
- [x] Add disable hierarchy option
- [x] Add out option
- [x] Allow miltiply include and exclude options
- [x] Show result path and additional info on --dry-run option
- [x] Add option for remove out dir if exist
- [x] Add save to new temp dir if out not setting