From ad9672dcd92255f2ffdbcec2c2fe3845ab3ef36c Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sat, 3 Aug 2024 12:01:09 +0300 Subject: [PATCH] Summary/v0.1.2 --- CHANGELOG.md | 148 ++++++++++++++++++------------------ Cargo.toml | 6 +- Target/release/PSummary.exe | Bin 3201536 -> 3201536 bytes Target/release/Summary.exe | Bin 3201536 -> 3201536 bytes 4 files changed, 79 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a027533..2a25b4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ ## 0.1.2 +### Added + +- Added chrono = "0.4.38" as a new dependency + +### Changed + +- Updated version number in Cargo.toml from 0.1.1 to 0.1.2 + +### Improved + +- Enhanced tag handling in Source/Fn/Summary.rs: + - Now sorts tags by commit date instead of alphabetically + - Improved date parsing and handling using chrono + ## 0.1.1 ### Changed @@ -24,25 +38,25 @@ ### Added -- New dependency: `itertools = "0.13.0"` -- New module: `Source/Fn/Summary/Group.rs` for processing and printing - summaries of differences +- New dependency: itertools = "0.13.0" +- New module: Source/Fn/Summary/Group.rs for processing and printing summaries + of differences ### Changed - Updated dependencies: - - `tokio` from `1.39.1` to `1.39.2` - - `toml` from `0.8.16` to `0.8.17` -- Refactored `Source/Fn/Binary/Command/Parallel.rs`: - - Now uses `FuturesUnordered` for managing asynchronous tasks - - Changed `Output` data structure from `DashMap` to `Vec` + - tokio from 1.39.1 to 1.39.2 + - toml from 0.8.16 to 0.8.17 +- Refactored Source/Fn/Binary/Command/Parallel.rs: + - Now uses FuturesUnordered for managing asynchronous tasks + - Changed Output data structure from DashMap to Vec - Simplified entry collection and processing -- Updated `Source/Fn/Binary/Command/Sequential.rs`: - - Now uses `futures::future::join_all` for sequential processing +- Updated Source/Fn/Binary/Command/Sequential.rs: + - Now uses futures::future::join_all for sequential processing - Adjusted result handling to match the new structure -- Modified `Source/Fn/Summary.rs`: +- Modified Source/Fn/Summary.rs: - Updated format strings for summary messages - - Added new `Group` module for summary processing + - Added new Group module for summary processing ### Improved @@ -52,30 +66,31 @@ ### Developer Notes -- The new `Group` module provides a more efficient way to aggregate and - display differences -- The switch to `FuturesUnordered` in the parallel processing should improve +- The new Group module provides a more efficient way to aggregate and display + differences +- The switch to FuturesUnordered in the parallel processing should improve performance for large datasets -- Developers should review the changes in `Parallel.rs` and `Sequential.rs` to +- Developers should review the changes in Parallel.rs and Sequential.rs to understand the new processing flow ## 0.0.9 ### Changed -- Updated `Cargo.toml` to include specific files in the package: - Added - `include = [ "Source/**/*", "LICENSE", "README.md", "CHANGELOG.md", "build.rs", "Cargo.toml", ]` - to specify which files should be included when packaging the crate +- Updated Cargo.toml to include specific files in the package: + - Added include = [ "Source/**/*", "LICENSE", "README.md", "CHANGELOG.md", + "build.rs", "Cargo.toml", ] to specify which files should be included when + packaging the crate ### Developer Notes - This change ensures that only necessary files are included in the published crate, potentially reducing package size and improving distribution efficiency -- The inclusion of `LICENSE`, `README.md`, and `CHANGELOG.md` ensures that - important documentation is bundled with the package -- Including `build.rs` ensures that any custom build steps are properly - executed when the crate is built by users +- The inclusion of LICENSE, README.md, and CHANGELOG.md ensures that important + documentation is bundled with the package +- Including build.rs ensures that any custom build steps are properly executed + when the crate is built by users ### Internal @@ -90,30 +105,22 @@ ### Added -- Added `dashmap = "6.0.1"` as a new dependency +- Added dashmap = "6.0.1" as a new dependency ### Improved -- Enhanced command-line interface in `Source/Fn/Binary/Command.rs`: - - - Updated default values for the `Omit` argument to use case-insensitive +- Enhanced command-line interface in Source/Fn/Binary/Command.rs: + - Updated default values for the Omit argument to use case-insensitive patterns - Simplified and improved regex patterns for file exclusion - -- Optimized diff generation in `Source/Fn/Summary/Difference.rs`: - - - Improved file filtering logic using a single `RegexSet` instead of +- Optimized diff generation in Source/Fn/Summary/Difference.rs: + - Improved file filtering logic using a single RegexSet instead of multiple individual regexes - Enhanced performance of diff generation process - -- Refactored `Source/Fn/Summary.rs`: - +- Refactored Source/Fn/Summary.rs: - Improved error handling and return types - - Enhanced summary generation process using `DashMap` for concurrent - access - -- Added new module `Source/Fn/Summary/Insert.rs` for handling summary - insertions + - Enhanced summary generation process using DashMap for concurrent access +- Added new module Source/Fn/Summary/Insert.rs for handling summary insertions ### Documentation @@ -133,7 +140,7 @@ - This update focuses on performance improvements, code organization, and documentation enhancements -- The new `dashmap` dependency allows for more efficient concurrent operations +- The new dashmap dependency allows for more efficient concurrent operations in summary generation - The license change should be reviewed to ensure compliance with the new licensing terms @@ -146,8 +153,8 @@ ### Improved -- Enhanced output formatting in `Source/Fn/Summary.rs`: - - Changed println! format from "`\n{}\n`" to "{}" for cleaner output +- Enhanced output formatting in Source/Fn/Summary.rs: + - Changed println! format from "\n{}\n" to "{}" for cleaner output - This change affects multiple sections of the summary output, including: - Summary from first commit to last commit - Summary between specified tags @@ -165,24 +172,21 @@ ### Dependencies -- Updated `toml` dependency from version 0.8.16 to 0.8.17 - -### Changes - +- Updated toml dependency from version 0.8.16 to 0.8 Changes - Improved error handling and messaging in repository operations - Enhanced summary generation to include comparisons between: - First commit and last commit (when no tags are present) - First commit and latest tag - Latest tag and last commit -- Added new module `First.rs` to handle retrieving the first commit in a +- Added new module First.rs to handle retrieving the first commit in a repository -- Refined `README.md` documentation for the `--Omit` or `-O` option +- Refined README.md documentation for the --Omit or -O option ### Internal Improvements -- Refactored `Fn::Summary::Fn` function for better handling of different - commit comparison scenarios -- Introduced `Fn::Summary::First::Fn` function to get the first commit in +- Refactored Fn::Summary::Fn function for better handling of different commit + comparison scenarios +- Introduced Fn::Summary::First::Fn function to get the first commit in topological order - Version bump from 0.0.5 to 0.0.6 @@ -191,13 +195,13 @@ ### Changes - Updated version number in Cargo.toml from 0.0.4 to 0.0.5 -- Improved `README.md` formatting and clarified feature descriptions +- Improved README.md formatting and clarified feature descriptions - Enhanced Git repository analysis functionality ### Code Improvements -- Refactored `Fn::Summary::Difference::Option` to - `Struct::Summary::Difference::Struct` +- Refactored Fn::Summary::Difference::Option to + Struct::Summary::Difference::Struct - Implemented parallel processing for file filtering using Rayon - Added extensive list of file extensions to omit from diff generation - Improved error handling in diff generation process @@ -209,7 +213,7 @@ ### Internal Changes -- Reorganized project structure with new `Struct` module +- Reorganized project structure with new Struct module - Updated import statements to reflect new module structure - Improved code consistency and formatting throughout the project @@ -218,11 +222,11 @@ ### Changes - Updated version number in Cargo.toml from 0.0.3 to 0.0.4 -- Improved `README.md` with more detailed information about the tool's - features and usage +- Improved README.md with more detailed information about the tool's features + and usage - Enhanced Git repository analysis capabilities - Refined description of Pieces OS integration -- Added more detailed usage instructions and examples in `README.md` +- Added more detailed usage instructions and examples in README.md ### Features @@ -231,8 +235,8 @@ ### Documentation -- Updated `README.md` with new features and usage instructions -- Added more comprehensive examples in `README.md` +- Updated README.md with new features and usage instructions +- Added more comprehensive examples in README.md - Clarified Pieces OS integration benefits ### Internal @@ -244,35 +248,35 @@ ### Added -- New `Omit` parameter in `Option` struct for excluding specific files or +- New Omit parameter in Option struct for excluding specific files or directories -- Improved parallel processing in `Parallel.rs` -- Enhanced error handling and logging in `Summary.rs` -- New regex-based file filtering in `Difference.rs` +- Improved parallel processing in Parallel.rs +- Enhanced error handling and logging in Summary.rs +- New regex-based file filtering in Difference.rs ### Changed -- Updated build script (`build.rs`) for better dependency management -- Refactored `Summary.rs` for improved performance and flexibility -- Modified `Command.rs` to include new command-line options -- Updated `README.md` with more detailed feature descriptions and usage +- Updated build script (build.rs) for better dependency management +- Refactored Summary.rs for improved performance and flexibility +- Modified Command.rs to include new command-line options +- Updated README.md with more detailed feature descriptions and usage instructions ### Removed -- Removed `Release.rs` file, functionality likely integrated elsewhere +- Removed Release.rs file, functionality likely integrated elsewhere ### Dependencies -- Added `regex = "1.10.5"` to dependencies in Cargo.toml +- Added regex = "1.10.5" to dependencies in Cargo.toml ### Notes - This update focuses on code cleanup, performance improvements, and enhanced file filtering capabilities -- The `Omit` feature allows for more granular control over which files are +- The Omit feature allows for more granular control over which files are processed -- `README.md` now includes information about Pieces OS integration +- README.md now includes information about Pieces OS integration ## 0.0.2 diff --git a/Cargo.toml b/Cargo.toml index eb0abc3..586e342 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,21 +7,21 @@ name = "Summary" path = "Source/Library.rs" [dependencies] -clap = { features = ["derive"], version = "4.5.11" } +clap = { features = ["derive"], version = "4.5.13" } walkdir = "2.5.0" futures = "0.3.30" rayon = "1.10.0" tokio = { version = "1.39.2", features = ["full"] } git2 = { version = "0.19.0" } num_cpus = "1.16.0" -regex = "1.10.5" +regex = "1.10.6" dashmap = "6.0.1" itertools = "0.13.0" chrono = "0.4.38" [build-dependencies] serde = { version = "1.0.204", features = ["derive"] } -toml = "0.8.17" +toml = "0.8.19" [lib] crate-type = ["staticlib", "cdylib", "rlib"] diff --git a/Target/release/PSummary.exe b/Target/release/PSummary.exe index 8d443158ddc6e49008d2e4cc1a2fae676a6fb54a..d2a26d26fb7ca324e3ea31702fd335e8128ab40e 100644 GIT binary patch delta 299 zcmX}hK}rH)7>Dus#%#v4G&M^t)2~KN{WPjoG~fYr5qO4}V+^<$5Rw)xTDT4bg%;u* zAa5`y5ITT!gB}<9!Vg~lkGuF4E`G{F55l1oo)lX;A~--4hcI9wh9kt0z%fpcL<*-! zBZDl?ki$7HkVgSUT;d8PT%(K%ByMmE3suxm#~m7IqUB4W9v+{AaQ>!oIxKWwmDaV@ ucG7k&!JmagbN0<2KdGgedMR$E{lD+t*XR5C!&r^HfvwO+#~;}Dv&la*T1Hy{ delta 299 zcmX}hO=`kW7)IgT*j8<$Mvb*UvBs$J_qL^WR7lAJoD_mf5Jw$479340{uBK3wzVA;dr8@{UlH9}!Boa#y3$Ox-ftd}I4M<2x#GMkuVq_(T zW?qBxCr|R{dndb-m|&9=`t>%IVkX6t4hyWX!HzdL;DihBaKnQSc;SN|0R$037!gDf zLmUYtkwO|7WRXK25}zpG3q^dRgfc3qqGn2=TJ6sDwjODmjsm)UrF9MUoV5Su<_}>= m8@`%3|51B~&t@Ip<>jyUdt9!!=kZ}SFcj)&m;!2QZ;PAbR{YfnFYYWx7EM2j3#f^#xqKF}m1T;J#iAU&2;R$IN$RLYnn8@J; zc@$7Y31wKQpo$u7IB-!%15LEh#w*_Njt_J~SIAy}XkCJ-!l`J$A4$dc