feat: add modified-only mode to update only changed files#118
feat: add modified-only mode to update only changed files#118kubrickcode merged 1 commit intomainfrom
Conversation
|
/gemini review |
Summary of ChangesHello @kubrickcode, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a valuable modified-only mode, allowing users to update only files that have changed, which is a great feature for syncing templates. The implementation is well-done, particularly the use of stream-based SHA-256 hashing for efficient file comparison. My review includes a few suggestions to better align the new code with the repository's style guide, focusing on function ordering, immutability, and alphabetical sorting. Overall, this is a solid contribution.
7200028 to
d95123d
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a modified-only mode, which is a great feature for syncing templates. The implementation uses SHA-256 hash comparison to detect file changes, which is robust. The new logic is well-tested and handles temporary file extraction and cleanup correctly. My review includes a few minor suggestions to improve code quality by adhering to the project's style guide, such as replacing magic strings with constants and using more descriptive variable names.
d95123d to
ab79238
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a modified-only mode to selectively update files based on content changes, which is a great feature for syncing templates. The implementation is solid, using SHA-256 hash comparison for detecting modifications and a temporary directory strategy to handle file operations. The changes are well-tested and documented across the CLI, library API, and README files. I have a couple of suggestions for improvement. One is a minor code quality refinement in the new file hashing utility to avoid an async promise constructor anti-pattern. The other is a potential performance optimization in the handleModifiedOnlyMode function to reduce unnecessary file extraction. Overall, this is a well-executed feature addition.
ab79238 to
e74710c
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a modified-only mode, a valuable feature for syncing templates. The implementation is well-structured, notably with the new file-compare utility for hash-based comparisons. My review includes suggestions to leverage modern Node.js stream APIs and project-specific utility libraries like es-toolkit to enhance code clarity and efficiency. I've also pointed out a few minor areas where we can improve adherence to the project's style guide regarding alphabetical ordering.
e74710c to
9ee0a5b
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a modified-only mode, which is a great feature for syncing templates. The implementation is solid, using SHA-256 hash comparison for detecting file changes. The new code is well-tested and integrated into the CLI and library API. My review includes a few suggestions to improve code consistency by adhering to the project's alphabetical ordering convention, a minor refactoring to follow the style guide for constants, and a performance optimization for the new mode to avoid unnecessary file operations. Overall, great work on this feature.
9ee0a5b to
f4fe3ed
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a valuable modified-only mode for selective file updates based on SHA-256 hash comparison. The implementation is well-structured, with the core logic neatly encapsulated in a new file-compare utility and comprehensive test coverage. I've identified a potential bug in the main pull logic that could cause new files to be added incorrectly in modified-only mode. Additionally, there are a few minor inconsistencies with the repository's style guide regarding alphabetical ordering and function placement. My review includes suggestions to address these points.
f4fe3ed to
f83ca9e
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a modified-only mode, which is a great feature for syncing updates from template repositories. The implementation is solid, using SHA-256 hash comparison to detect file changes efficiently. The new file-compare utility is well-designed and stream-based, making it memory-efficient for large files. The associated tests are comprehensive, covering various edge cases. The code adheres well to the project's conventions and style guide. I have one minor suggestion regarding documentation consistency in README.md to align it with the alphabetical ordering used elsewhere in the codebase. Overall, this is an excellent contribution.
When syncing from template repositories, users need to pull only bug fixes or config updates while ignoring newly added files Implemented selective file updates using SHA-256 hash comparison to detect actual content changes, ignoring new files and updating only existing files that have been modified - Add modified-only mode to ConflictMode - Implement stream-based SHA-256 hash comparison in file-compare utility - Add --modified-only (-m) CLI flag - Use two-temp-dir strategy to copy only changed files fix #117
f83ca9e to
be56e46
Compare
|
🎉 This PR is included in version 1.3.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
When syncing from template repositories, users need to pull only bug fixes or config updates while ignoring newly added files
Implemented selective file updates using SHA-256 hash comparison to detect actual content changes, ignoring new files and updating only existing files that have been modified
fix #117