Age | Commit message (Collapse) | Author |
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Split gfold into gfold and libgfold to increase the number of
compilation units and allow for external use of the library. Keep
libgfold unpublished until logging, error types, etc. is handled
properly.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Primary:
- Restore cargo xtask to the repository
- Polish "size" and "loose-bench" tasks and integrate them with cargo
xtask
- Update documentation to reflect new xtask changes
- Move ci to use cargo xtask
Secondary:
- Remove unneeded run from gfold test
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Remove nix flake due to lack of maintainability
- Fix changelog 4.3.2 title (it was missing on release)
- Bump deps (includings "dirs" to 5.0.0)
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Add nix flake with documentation
- Bump deps
- Document private items by default
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update to 4.2.0
- Add upstream libgit2 issue to README
- Add locked flag to README installation section
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Ignore "extensions.worktreeconfig" error until the upstream issue is
resolved and git2-rs receives the fix.
- Issue: https://github.com/libgit2/libgit2/issues/6044
- Add unknown status with red color
- Change unpushed status to use blue color
- Split crate imports from external ones in gfold crate
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update env_logger to 0.10.x and disable 0.9.x "atty" feature
- Fix GitHub Actions build badge from "shields.io" due to upstream
change
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- When checking if unpushed and attempting to resolve the reference from
a short name, ignore the error and assume we need to push
- For now, the error is logged to stderr at the debug level, but we
may need to perform more advanced error handling in the future
- Use tempfile instead of creating directories under "target"
- The root temporary directory and its descendants will be immediately
deleted as soon as the value for root is dropped from scope
- This is far less error prone than the previous method
- Remove bors to increase developer and release feedback loop
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Continue the work from the following PR:
https://github.com/nickgerace/gfold/pull/211
- Ensure all deps have their minor version locked
- Update all deps accordingly
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update to 4.1.0
- Switch from argh to clap v4
- Remove ability to combine display flag with version flag
- Move pre-4.0.0 changelog entries to their own file
- Ensure integration test artifacts are built in the correct location
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
Signed-off-by: Nick Gerace <nick@pop-os.localdomain>
|
|
Primary:
- Switch to cargo workspace to replace xtask, make, etc.
- Add debug symbol stripping
Misc:
- Upgrade all packages
- Replace entries iterator with "next" due to the following PR:
https://github.com/rust-lang/git2-rs/pull/854
- Remove "rustfmt.toml"
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Functional:
- Update "Cargo.toml" version to 4.0.1
- Bump all packages
- Add warnings check to "cargo doc" in CI
- Remove bash scripts (install and uninstall) and move their logic to
markdown docs
Docs:
- Move download and install from source instructions to their own file
- Add "cargo doc" warnings check to dev docs
- Rename scripts to performance testing scripts where mentioned
- Add "quiet" flag to "cargo run" for scripts
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Loose bench:
- Bolster loose bench to calculate more runs with averages
- Alternate order at the halfway mark of total runs for loose bench
- Display run averages and global duration for loose bench
- Add TODO for loose bench to track average deviation (i.e. how
consistently does gfold perform across runs?)
- Add module comment for loose bench explaining its purpose
Misc:
- Add TargetOption enum for processing target entries
- Name reports and target varaibles with more specificity
- Add fix commands to DEVELOPING
- Misc updates to Cargo.lock
- Update to 4.0.0-rc.3
Result:
- Only use "anyhow::Result" when there is more than one error type
Bug fix:
- Add current dir to scripts to ensure gfold is being built
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Fix error when remote is not "origin" and fallback to alternate remotes if
"origin" is not found
- Add failure scenario to core integration test
- Fix error where "gfold.toml" not existing would result in execution
failure
- Add config file lookup behavior to README
- Remove debug flag in favor of RUST_LOG
- This also results in the logging module being removed since setting
the logging should be configured via RUST_LOG
- Add RUST_LOG and RUST_BACKTRACE to README and CLI help troubleshooting
sections
- Update display flags in README to use `-d`
- Update flag description for color to use "never" instead of "off" as
one of its options
- Add sequencing debug logs (e.g. "foo has completed")
- Switch back to anyhow for its backtrace feature
- Update to 4.0.0-rc.2
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
TLDR: remove barriers to multi-platform development, like Bash and Make.
Moreover, remove the nightly fmt dependency and improve testing to catch
potential corner cases on multiple platforms.
Core:
- Rename "Reports" to "LabeledReports" since "Reports" is not of implied
type Vec<Report>
Testing:
- Add second half to the integration test: comparing found reports with
expected reports
- Essentially, we run the core gfold loop _again_, but only generate
reports and skip displaying them to stdout
CI:
- Removed nightly fmt check and job
- Moved fmt check to stable
- Update bors toml to match changes
Scripts:
- Convert scripts from Bash scripts to independent crates
(multi-platform friendly)
- Add README to scripts directory
- Ensure script crates do not have their Cargo lockfile tracked in Git
Docs:
- Adding DEVELOPING file to replace Makefile
- Move THANKS and RELEASE files to new docs directory, along with
DEVELOPING
- Replace make commands in README and RELEASE files
Misc:
- Remove Rust nightly dependency since it was solely for imports
granulaity for rustfmt
- This repository is once again only reliant on stable Rust
toolchains
- Remove "rust-version" from Cargo toml since it was unused
- Remove Makefile entirely in favor of DEVELOPING file (multi-platform
friendly)
- Update markdown code block languages as "shell" instead of "bash" to
be multi-platform friendly
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
This reverts commit 3cf1a18d5273c1ba84fb7f7aac276b19a06fcbd2.
|
|
This reverts commit 7ea0a538cbc2924de7c0baf12222767a3e1ace48.
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Update to 4.0.0-rc.1
- Add nvim-gfold.lua link and new community section
- Add nvim-gfold.lua to THANKS.md as well
- Add link to THANKS.md in community section
- Re-order AUR and Arch in THANKS.md
- Change RELEASE.md with new make targets in mind
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
General changes:
- Add JSON output flag for version and results
- Add color mode with the following options: "always", "compatibility",
and "never"
- Merge CLI functions into "parse_and_run()"
- Major module changes: "cli", "display", and "report" modules now
contain their children, which are "logging", "color", and "target"
respectively
- Add result type and remove "anyhow" dependency to reduce binary size
and simplify errors (rely more on "thiserror").
- Ensure "Status" has bi-directional serialization for JSON output.
- Re-write tests to create and use actual files, directories, and newly
initialized repositories in the "target" directory
- Ensure CHANGELOG for the upcoming release is closer to the original
"Keep a Changelog" format"
Bug fixes:
- Fix a bug where HEAD was not being detected using
"git2::Repository::head()" in a newly initialized repository
- Fix a bug where encountering a "NotFound" error with a repository's
remote "origin" would cause a panic
CI changes:
- Rename CI workflows to be more explicit
- Remove "rust-cache" from nightly workflow and add comment for its
reasoning
Makefile changes:
- Refactor README to only remove unused targets
- Add nextest target
- Add size target
Bench script changes:
- Require grealpath on macOS
- Suppress command output and only display times
Additional comment: I am probably missing some stuff here. I was on a
flight and did not have internet. My brain went nuts and... well, here
we are.
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Split nightly fmt and stable clippy/test into two jobs
- Add bors badge
- Declare status names explicitly
- Comment out non-deterministic tests for CI
- Merge "ubuntu-latest" building into the test job
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Change config file lookup path from "<prefix>/gfold/gfold.json" to
"<prefix>/gfold.toml"
- Change config file type from JSON to TOML
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Fix shorthand reference resolution error if origin is not found
- Update misc deps
- Standardize logging on installer and uninstaller
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|
|
- Use git2-rs over git subcommands for speed gains
- Use Option types over "none" or "-" strings for results
- Ensure the display module handles how to display results
- Display status enum as string rather than carrying it as a field
- Remove git path from CLI and config file due to switch to git2-rs
Signed-off-by: Nick Gerace <nickagerace@gmail.com>
|