Files
git-repo-manager/Cargo.toml
Hannes Körber f0c8805cf3 Refactor
This refactors a huge chunk of the code base to make it more maintainable.

Main points:

* Proper separation between bin and lib. Bin handles argument parsing &
  validation and (most of) the output. Lib provides interfaces for all
  opreations.

* Before, libgit2 internals were literred throughout the codebase,
  mainly the `Repository` struct and `git2::Error` in Results. They
  library is now properly wrapped in `repo.rs`, which exposes only the
  required functionality. It also standardizes the Error messages
  (they're just Strings for now) and handles stuff like the copious
  usage of Options to wrap maybe-invalid-utf-8 values. The program will
  still panic on non-utf-8 Strings e.g. in git remotes, but I guess this
  is acceptable. If you actually manage to hit this case, I promise I'll
  fix it :D

* Many unwraps() are now gone and properly handled.

* The table printing functionality is now confined to `table.rs`,
  instead of passing tables as parameters through the whole program.
2021-12-01 20:12:24 +01:00

66 lines
1.1 KiB
TOML

[package]
name = "git-repo-manager"
version = "0.4.0"
edition = "2021"
authors = [
"Hannes Körber <hannes@hkoerber.de>",
]
description = """
Manage multiple git repositories.
You configure the git repositories in a file, the program does the rest!
"""
keywords = ["git"]
categories = [
"command-line-utilities",
"development-tools",
]
homepage = "https://github.com/hakoerber/git-repo-manager"
repository = "https://github.com/hakoerber/git-repo-manager"
readme = "README.md"
# Required for `std::path::Path::is_symlink()`. Will be released with 1.57.
rust-version = "1.57"
license = "GPL-3.0-only"
[lib]
name = "grm"
path = "src/lib.rs"
[[bin]]
name = "grm"
path = "src/grm/main.rs"
[dependencies]
[dependencies.toml]
version = "0.5.8"
[dependencies.serde]
version = "1.0.130"
features = ["derive"]
[dependencies.git2]
version = "0.13.24"
[dependencies.shellexpand]
version = "2.1.0"
[dependencies.clap]
version = "3.0.0-beta.5"
[dependencies.console]
version = "0.15.0"
[dependencies.regex]
version = "1.5.4"
[dependencies.comfy-table]
version = "5.0.0"
[dev-dependencies.tempdir]
version = "0.3.7"