alerque / git-warp-time

Rust library and CLI utility to reset timestamps of Git repository files to the time of the last modifying commit.
GNU General Public License v3.0
32 stars 1 forks source link

Overhaul error handling #25

Closed alerque closed 2 months ago

alerque commented 2 months ago

Closes #14

github-actions[bot] commented 2 months ago

:cowboy_hat_face: Cargo bloat for toolchain stable-x86_64-unknown-linux-gnu :cowboy_hat_face:

@@ Size breakdown @@

- Size     2.88 MB
+ Size     2.87 MB  -15.85 KB
Text size  1.08 MB

No changes to crate sizes

Dependency tree
```diff @@ Dependency tree @@ Count: 444 ├─ clap v4.5.9 │ ├─ clap_builder v4.5.9 │ │ ├─ anstream v0.6.14 │ │ ├─ anstyle v1.0.7 │ │ ├─ clap_lex v0.7.1 │ │ └─ strsim v0.11.1 │ └─ clap_derive v4.5.8 (proc-macro) ├─ filetime v0.2.23 │ ├─ cfg-if v1.0.0 │ └─ libc v0.2.155 ├─ git2 v0.19.0 │ ├─ bitflags v2.6.0 │ ├─ libc v0.2.155 │ ├─ libgit2-sys v0.17.0+1.8.1 │ │ ├─ libc v0.2.155 │ │ ├─ libz-sys v1.1.18 │ │ │ ├─ libc v0.2.155 │ │ │ ├─ cc v1.1.5 │ │ │ │ ├─ jobserver v0.1.31 │ │ │ │ │ └─ libc v0.2.155 │ │ │ │ └─ libc v0.2.155 │ │ │ ├─ pkg-config v0.3.30 │ │ │ └─ vcpkg v0.2.15 │ │ ├─ cc v1.1.5 │ │ └─ pkg-config v0.3.30 │ ├─ log v0.4.22 │ └─ url v2.5.2 │ ├─ form_urlencoded v1.2.1 │ │ └─ percent-encoding v2.3.1 │ ├─ idna v0.5.0 │ │ ├─ unicode-bidi v0.3.15 │ │ └─ unicode-normalization v0.1.23 │ │ └─ tinyvec v1.8.0 │ │ └─ tinyvec_macros v0.1.1 │ └─ percent-encoding v2.3.1 ├─ snafu v0.8.4 │ └─ snafu-derive v0.8.4 (proc-macro) │ ├─ heck v0.5.0 │ ├─ proc-macro2 v1.0.86 │ ├─ quote v1.0.36 │ └─ syn v2.0.71 ├─ snafu-cli-debug v0.1.1 (proc-macro) │ ├─ proc-macro2 v0.4.30 │ │ └─ unicode-xid v0.1.0 │ ├─ quote v0.6.13 │ │ └─ proc-macro2 v0.4.30 │ └─ syn v0.15.44 │ ├─ proc-macro2 v0.4.30 │ ├─ quote v0.6.13 │ └─ unicode-xid v0.1.0 ├─ anyhow v1.0.86 ├─ clap_complete v4.5.8 │ └─ clap v4.5.9 ├─ clap_mangen v0.2.22 │ ├─ clap v4.5.9 │ └─ roff v0.2.1 └─ vergen-gix v1.0.0 ├─ anyhow v1.0.86 ├─ derive_builder v0.20.0 │ └─ derive_builder_macro v0.20.0 (proc-macro) │ ├─ derive_builder_core v0.20.0 │ │ ├─ darling v0.20.10 │ │ │ ├─ darling_core v0.20.10 │ │ │ │ ├─ fnv v1.0.7 │ │ │ │ ├─ ident_case v1.0.1 │ │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ │ ├─ quote v1.0.36 │ │ │ │ ├─ strsim v0.11.1 │ │ │ │ └─ syn v2.0.71 │ │ │ └─ darling_macro v0.20.10 (proc-macro) │ │ │ ├─ darling_core v0.20.10 │ │ │ ├─ quote v1.0.36 │ │ │ └─ syn v2.0.71 │ │ ├─ proc-macro2 v1.0.86 │ │ ├─ quote v1.0.36 │ │ └─ syn v2.0.71 │ └─ syn v2.0.71 ├─ gix v0.63.0 │ ├─ gix-actor v0.31.4 │ │ ├─ bstr v1.9.1 │ │ │ ├─ memchr v2.7.4 │ │ │ └─ regex-automata v0.4.7 │ │ │ ├─ aho-corasick v1.1.3 │ │ │ │ └─ memchr v2.7.4 │ │ │ ├─ memchr v2.7.4 │ │ │ └─ regex-syntax v0.8.4 │ │ ├─ gix-date v0.8.7 │ │ │ ├─ bstr v1.9.1 │ │ │ ├─ itoa v1.0.11 │ │ │ ├─ thiserror v1.0.62 │ │ │ │ └─ thiserror-impl v1.0.62 (proc-macro) │ │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ │ ├─ quote v1.0.36 │ │ │ │ └─ syn v2.0.71 │ │ │ └─ time v0.3.36 │ │ │ ├─ deranged v0.3.11 │ │ │ │ └─ powerfmt v0.2.0 │ │ │ ├─ itoa v1.0.11 │ │ │ ├─ libc v0.2.155 │ │ │ ├─ num-conv v0.1.0 │ │ │ ├─ num_threads v0.1.7 │ │ │ ├─ powerfmt v0.2.0 │ │ │ ├─ time-core v0.1.2 │ │ │ └─ time-macros v0.2.18 (proc-macro) │ │ │ ├─ num-conv v0.1.0 │ │ │ └─ time-core v0.1.2 │ │ ├─ gix-utils v0.1.12 │ │ │ ├─ fastrand v2.1.0 │ │ │ └─ unicode-normalization v0.1.23 │ │ ├─ itoa v1.0.11 │ │ ├─ thiserror v1.0.62 │ │ └─ winnow v0.6.13 │ │ └─ memchr v2.7.4 │ ├─ gix-commitgraph v0.24.2 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-chunk v0.4.8 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-features v0.38.2 │ │ │ ├─ crc32fast v1.4.2 │ │ │ │ └─ cfg-if v1.0.0 │ │ │ ├─ flate2 v1.0.30 │ │ │ │ ├─ crc32fast v1.4.2 │ │ │ │ └─ miniz_oxide v0.7.4 │ │ │ │ └─ adler v1.0.2 │ │ │ ├─ gix-hash v0.14.2 │ │ │ │ ├─ faster-hex v0.9.0 │ │ │ │ └─ thiserror v1.0.62 │ │ │ ├─ gix-trace v0.1.9 │ │ │ ├─ gix-utils v0.1.12 │ │ │ ├─ libc v0.2.155 │ │ │ ├─ once_cell v1.19.0 │ │ │ ├─ prodash v28.0.0 │ │ │ ├─ sha1_smol v1.0.0 │ │ │ ├─ thiserror v1.0.62 │ │ │ └─ walkdir v2.5.0 │ │ │ └─ same-file v1.0.6 │ │ ├─ gix-hash v0.14.2 │ │ ├─ memmap2 v0.9.4 │ │ │ └─ libc v0.2.155 │ │ └─ thiserror v1.0.62 │ ├─ gix-config v0.37.0 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-config-value v0.14.6 │ │ │ ├─ bitflags v2.6.0 │ │ │ ├─ bstr v1.9.1 │ │ │ ├─ gix-path v0.10.8 │ │ │ │ ├─ bstr v1.9.1 │ │ │ │ ├─ gix-trace v0.1.9 │ │ │ │ ├─ home v0.5.9 │ │ │ │ ├─ once_cell v1.19.0 │ │ │ │ └─ thiserror v1.0.62 │ │ │ ├─ libc v0.2.155 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-features v0.38.2 │ │ ├─ gix-glob v0.16.3 │ │ │ ├─ bitflags v2.6.0 │ │ │ ├─ bstr v1.9.1 │ │ │ ├─ gix-features v0.38.2 │ │ │ └─ gix-path v0.10.8 │ │ ├─ gix-path v0.10.8 │ │ ├─ gix-ref v0.44.1 │ │ │ ├─ gix-actor v0.31.4 │ │ │ ├─ gix-date v0.8.7 │ │ │ ├─ gix-features v0.38.2 │ │ │ ├─ gix-fs v0.11.1 │ │ │ │ ├─ fastrand v2.1.0 │ │ │ │ ├─ gix-features v0.38.2 │ │ │ │ └─ gix-utils v0.1.12 │ │ │ ├─ gix-hash v0.14.2 │ │ │ ├─ gix-lock v14.0.0 │ │ │ │ ├─ gix-tempfile v14.0.0 │ │ │ │ │ ├─ gix-fs v0.11.1 │ │ │ │ │ ├─ libc v0.2.155 │ │ │ │ │ ├─ once_cell v1.19.0 │ │ │ │ │ ├─ parking_lot v0.12.3 │ │ │ │ │ │ ├─ lock_api v0.4.12 │ │ │ │ │ │ │ ├─ scopeguard v1.2.0 │ │ │ │ │ │ │ └─ autocfg v1.3.0 │ │ │ │ │ │ └─ parking_lot_core v0.9.10 │ │ │ │ │ │ ├─ cfg-if v1.0.0 │ │ │ │ │ │ ├─ libc v0.2.155 │ │ │ │ │ │ └─ smallvec v1.13.2 │ │ │ │ │ ├─ signal-hook v0.3.17 │ │ │ │ │ │ ├─ libc v0.2.155 │ │ │ │ │ │ └─ signal-hook-registry v1.4.2 │ │ │ │ │ │ └─ libc v0.2.155 │ │ │ │ │ ├─ signal-hook-registry v1.4.2 │ │ │ │ │ └─ tempfile v3.10.1 │ │ │ │ │ ├─ cfg-if v1.0.0 │ │ │ │ │ ├─ fastrand v2.1.0 │ │ │ │ │ └─ rustix v0.38.34 │ │ │ │ │ ├─ bitflags v2.6.0 │ │ │ │ │ └─ linux-raw-sys v0.4.14 │ │ │ │ ├─ gix-utils v0.1.12 │ │ │ │ └─ thiserror v1.0.62 │ │ │ ├─ gix-object v0.42.3 │ │ │ │ ├─ bstr v1.9.1 │ │ │ │ ├─ gix-actor v0.31.4 │ │ │ │ ├─ gix-date v0.8.7 │ │ │ │ ├─ gix-features v0.38.2 │ │ │ │ ├─ gix-hash v0.14.2 │ │ │ │ ├─ gix-utils v0.1.12 │ │ │ │ ├─ gix-validate v0.8.5 │ │ │ │ │ ├─ bstr v1.9.1 │ │ │ │ │ └─ thiserror v1.0.62 │ │ │ │ ├─ itoa v1.0.11 │ │ │ │ ├─ smallvec v1.13.2 │ │ │ │ ├─ thiserror v1.0.62 │ │ │ │ └─ winnow v0.6.13 │ │ │ ├─ gix-path v0.10.8 │ │ │ ├─ gix-tempfile v14.0.0 │ │ │ ├─ gix-utils v0.1.12 │ │ │ ├─ gix-validate v0.8.5 │ │ │ ├─ memmap2 v0.9.4 │ │ │ ├─ thiserror v1.0.62 │ │ │ └─ winnow v0.6.13 │ │ ├─ gix-sec v0.10.6 │ │ │ ├─ bitflags v2.6.0 │ │ │ └─ libc v0.2.155 │ │ ├─ memchr v2.7.4 │ │ ├─ once_cell v1.19.0 │ │ ├─ smallvec v1.13.2 │ │ ├─ thiserror v1.0.62 │ │ ├─ unicode-bom v2.0.3 │ │ └─ winnow v0.6.13 │ ├─ gix-date v0.8.7 │ ├─ gix-diff v0.44.0 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-hash v0.14.2 │ │ ├─ gix-object v0.42.3 │ │ └─ thiserror v1.0.62 │ ├─ gix-discover v0.32.0 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-fs v0.11.1 │ │ ├─ gix-hash v0.14.2 │ │ ├─ gix-path v0.10.8 │ │ ├─ gix-ref v0.44.1 │ │ ├─ gix-sec v0.10.6 │ │ └─ thiserror v1.0.62 │ ├─ gix-features v0.38.2 │ ├─ gix-fs v0.11.1 │ ├─ gix-glob v0.16.3 │ ├─ gix-hash v0.14.2 │ ├─ gix-hashtable v0.5.2 │ │ ├─ gix-hash v0.14.2 │ │ ├─ hashbrown v0.14.5 │ │ │ ├─ ahash v0.8.11 │ │ │ │ ├─ cfg-if v1.0.0 │ │ │ │ ├─ once_cell v1.19.0 │ │ │ │ ├─ zerocopy v0.7.35 │ │ │ │ └─ version_check v0.9.4 │ │ │ └─ allocator-api2 v0.2.18 │ │ └─ parking_lot v0.12.3 │ ├─ gix-index v0.33.0 │ │ ├─ bitflags v2.6.0 │ │ ├─ bstr v1.9.1 │ │ ├─ filetime v0.2.23 │ │ ├─ fnv v1.0.7 │ │ ├─ gix-bitmap v0.2.11 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-features v0.38.2 │ │ ├─ gix-fs v0.11.1 │ │ ├─ gix-hash v0.14.2 │ │ ├─ gix-lock v14.0.0 │ │ ├─ gix-object v0.42.3 │ │ ├─ gix-traverse v0.39.1 │ │ │ ├─ bitflags v2.6.0 │ │ │ ├─ gix-commitgraph v0.24.2 │ │ │ ├─ gix-date v0.8.7 │ │ │ ├─ gix-hash v0.14.2 │ │ │ ├─ gix-hashtable v0.5.2 │ │ │ ├─ gix-object v0.42.3 │ │ │ ├─ gix-revwalk v0.13.1 │ │ │ │ ├─ gix-commitgraph v0.24.2 │ │ │ │ ├─ gix-date v0.8.7 │ │ │ │ ├─ gix-hash v0.14.2 │ │ │ │ ├─ gix-hashtable v0.5.2 │ │ │ │ ├─ gix-object v0.42.3 │ │ │ │ ├─ smallvec v1.13.2 │ │ │ │ └─ thiserror v1.0.62 │ │ │ ├─ smallvec v1.13.2 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-utils v0.1.12 │ │ ├─ gix-validate v0.8.5 │ │ ├─ hashbrown v0.14.5 │ │ ├─ itoa v1.0.11 │ │ ├─ libc v0.2.155 │ │ ├─ memmap2 v0.9.4 │ │ ├─ rustix v0.38.34 │ │ ├─ smallvec v1.13.2 │ │ └─ thiserror v1.0.62 │ ├─ gix-lock v14.0.0 │ ├─ gix-macros v0.1.5 (proc-macro) │ │ ├─ proc-macro2 v1.0.86 │ │ ├─ quote v1.0.36 │ │ └─ syn v2.0.71 │ ├─ gix-object v0.42.3 │ ├─ gix-odb v0.61.0 │ │ ├─ arc-swap v1.7.1 │ │ ├─ gix-date v0.8.7 │ │ ├─ gix-features v0.38.2 │ │ ├─ gix-fs v0.11.1 │ │ ├─ gix-hash v0.14.2 │ │ ├─ gix-object v0.42.3 │ │ ├─ gix-pack v0.51.0 │ │ │ ├─ clru v0.6.2 │ │ │ ├─ gix-chunk v0.4.8 │ │ │ ├─ gix-features v0.38.2 │ │ │ ├─ gix-hash v0.14.2 │ │ │ ├─ gix-hashtable v0.5.2 │ │ │ ├─ gix-object v0.42.3 │ │ │ ├─ gix-path v0.10.8 │ │ │ ├─ gix-tempfile v14.0.0 │ │ │ ├─ memmap2 v0.9.4 │ │ │ ├─ parking_lot v0.12.3 │ │ │ ├─ smallvec v1.13.2 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-path v0.10.8 │ │ ├─ gix-quote v0.4.12 │ │ │ ├─ bstr v1.9.1 │ │ │ ├─ gix-utils v0.1.12 │ │ │ └─ thiserror v1.0.62 │ │ ├─ parking_lot v0.12.3 │ │ ├─ tempfile v3.10.1 │ │ └─ thiserror v1.0.62 │ ├─ gix-pack v0.51.0 │ ├─ gix-path v0.10.8 │ ├─ gix-ref v0.44.1 │ ├─ gix-refspec v0.23.0 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-hash v0.14.2 │ │ ├─ gix-revision v0.27.1 │ │ │ ├─ bstr v1.9.1 │ │ │ ├─ gix-date v0.8.7 │ │ │ ├─ gix-hash v0.14.2 │ │ │ ├─ gix-hashtable v0.5.2 │ │ │ ├─ gix-object v0.42.3 │ │ │ ├─ gix-revwalk v0.13.1 │ │ │ ├─ gix-trace v0.1.9 │ │ │ └─ thiserror v1.0.62 │ │ ├─ gix-validate v0.8.5 │ │ ├─ smallvec v1.13.2 │ │ └─ thiserror v1.0.62 │ ├─ gix-revision v0.27.1 │ ├─ gix-revwalk v0.13.1 │ ├─ gix-sec v0.10.6 │ ├─ gix-tempfile v14.0.0 │ ├─ gix-trace v0.1.9 │ ├─ gix-traverse v0.39.1 │ ├─ gix-url v0.27.3 │ │ ├─ bstr v1.9.1 │ │ ├─ gix-features v0.38.2 │ │ ├─ gix-path v0.10.8 │ │ ├─ home v0.5.9 │ │ ├─ thiserror v1.0.62 │ │ └─ url v2.5.2 │ ├─ gix-utils v0.1.12 │ ├─ gix-validate v0.8.5 │ ├─ once_cell v1.19.0 │ ├─ parking_lot v0.12.3 │ ├─ signal-hook v0.3.17 │ ├─ smallvec v1.13.2 │ └─ thiserror v1.0.62 ├─ time v0.3.36 ├─ vergen v9.0.0 │ ├─ anyhow v1.0.86 │ ├─ cargo_metadata v0.18.1 │ │ ├─ camino v1.1.7 │ │ │ └─ serde v1.0.204 │ │ │ └─ serde_derive v1.0.204 (proc-macro) │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ ├─ quote v1.0.36 │ │ │ └─ syn v2.0.71 │ │ ├─ cargo-platform v0.1.8 │ │ │ └─ serde v1.0.204 │ │ ├─ semver v1.0.23 │ │ │ └─ serde v1.0.204 │ │ ├─ serde v1.0.204 │ │ ├─ serde_json v1.0.120 │ │ │ ├─ itoa v1.0.11 │ │ │ ├─ ryu v1.0.18 │ │ │ └─ serde v1.0.204 │ │ └─ thiserror v1.0.62 │ ├─ derive_builder v0.20.0 │ ├─ getset v0.1.2 (proc-macro) │ │ ├─ proc-macro-error v1.0.4 │ │ │ ├─ proc-macro-error-attr v1.0.4 (proc-macro) │ │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ │ ├─ quote v1.0.36 │ │ │ │ └─ version_check v0.9.4 │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ ├─ quote v1.0.36 │ │ │ ├─ syn v1.0.109 │ │ │ │ ├─ proc-macro2 v1.0.86 │ │ │ │ ├─ quote v1.0.36 │ │ │ │ └─ unicode-ident v1.0.12 │ │ │ └─ version_check v0.9.4 │ │ ├─ proc-macro2 v1.0.86 │ │ ├─ quote v1.0.36 │ │ └─ syn v1.0.109 │ ├─ regex v1.10.5 │ │ ├─ aho-corasick v1.1.3 │ │ ├─ memchr v2.7.4 │ │ ├─ regex-automata v0.4.7 │ │ └─ regex-syntax v0.8.4 │ ├─ rustc_version v0.4.0 │ │ └─ semver v1.0.23 │ ├─ time v0.3.36 │ ├─ vergen-lib v0.1.3 │ │ ├─ anyhow v1.0.86 │ │ ├─ derive_builder v0.20.0 │ │ ├─ getset v0.1.2 (proc-macro) │ │ └─ rustversion v1.0.17 (proc-macro) │ └─ rustversion v1.0.17 (proc-macro) ├─ vergen-lib v0.1.3 └─ rustversion v1.0.17 (proc-macro) ```

Commit: a08c8e3a87bc48138a749de738efb3d12f1fe682 (Compare with baseline commit)