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.
This commit is contained in:
@@ -32,7 +32,7 @@ path = "src/lib.rs"
|
||||
|
||||
[[bin]]
|
||||
name = "grm"
|
||||
path = "src/main.rs"
|
||||
path = "src/grm/main.rs"
|
||||
|
||||
[dependencies]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user