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;