1 stable release
Uses new Rust 2024
new 1.0.0 | May 4, 2025 |
---|
#283 in Development tools
18KB
120 lines
Repo Hoarder
Repo Hoarder is a CLI tool designed to mass clone repositories from Codeberg. It supports asynchronous cloning with multiple threads, making it efficient for downloading repositories from users or organizations.
Features
- Clone all repositories from a Codeberg user or organization.
- Multi-threaded cloning for improved performance.
- Option to clone repositories recursively.
- Customizable output directory for cloned repositories.
Installation
To use Repo Hoarder, you need to have Rust installed. If you don't have Rust installed, you can get it from rust-lang.org.
-
Clone this repository:
git clone https://github.com/ofluffydev/repo-hoarder.git cd repo-hoarder
-
Build the project:
cargo build --release
-
The compiled binary will be available in the
target/release
directory:./target/release/repo-hoarder --help
Usage
Run the tool with the following options:
repo-hoarder [OPTIONS] <TARGET>
Arguments
<TARGET>
: The target user or organization on Codeberg.
Options
-t, --threads <THREADS>
: Number of threads to use (defaults to the number of CPU cores).-o, --org
: Specify if the target is an organization.-r, --recursive
: Clone repositories recursively.-c, --clone-output <CLONE_OUTPUT>
: Specify an output directory for cloned repositories.
Examples
-
Clone all repositories from a user:
repo-hoarder ofluffydev
-
Clone all repositories from an organization with 8 threads:
repo-hoarder -t 8 -o codeberg
-
Clone all repositories recursively into a specific directory:
repo-hoarder -r -c ./cloned-repos ofluffydev
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.
Acknowledgments
- Codeberg for providing an open-source platform for hosting repositories.
- The Rust community for their excellent libraries and tools.
Dependencies
~10–21MB
~277K SLoC