git_mover/
lib.rs

1//! # git-mover
2//!
3//! Move git repositories to a new location
4//!
5//! ## Usage
6//!
7//! ```txt
8//! Usage: git-mover [OPTIONS]
9//!
10//! Options:
11//!  -s, --source <SOURCE>            The source platform (github, gitlab, codeberg) [aliases: from]
12//!  -d, --destination <DESTINATION>  The destination platform (github, gitlab, codeberg) [aliases: to]
13//!  -n, --no-forks                   Don't sync forked repositories
14//!  -r, --resync                     Resync all repositories
15//!  -c, --config <CONFIG>            Custom configuration file
16//!      --show-config-path           Show the current config path
17//!  -v, --verbose...                 Verbose mode (-v, -vv, -vvv)
18//!  -h, --help                       Print help
19//! ```
20
21#![warn(clippy::all, rust_2018_idioms)]
22#![deny(
23    missing_docs,
24    clippy::all,
25    clippy::missing_docs_in_private_items,
26    clippy::missing_errors_doc,
27    clippy::missing_panics_doc,
28    clippy::cargo,
29    clippy::unwrap_used,
30    clippy::expect_used
31)]
32#![warn(clippy::multiple_crate_versions)]
33
34pub(crate) mod cli;
35pub(crate) mod config;
36pub(crate) mod errors;
37pub(crate) mod macros;
38pub(crate) mod platform;
39pub(crate) mod sync;
40pub(crate) mod utils;
41pub(crate) use macros::config_password_wrap;
42pub(crate) use macros::config_value_wrap;
43
44mod codeberg;
45mod github;
46mod gitlab;
47
48pub use cli::{git_mover_main, GitMoverCli};
49pub use config::GitMoverConfig;
50pub use utils::main_sync;