Skip to content

Commit wrapper #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 17, 2025
Merged

Commit wrapper #18

merged 3 commits into from
Jul 17, 2025

Conversation

JohanMabille
Copy link
Member

This PR contains a skeleton implementation of commit_wrapper only, so that it can be reviewed and merged quickly, and improved in future PRs without blocking anyone.

Copilot

This comment was marked as outdated.

Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a commit_wrapper class with a skeleton implementation and refactors the existing wrapper base class architecture. The main purpose is to provide a foundation for commit operations that can be quickly merged and improved incrementally.

  • Extracts wrapper_base template class from common.hpp to its own dedicated header file
  • Updates all existing wrapper classes to use the new wrapper_base location and adds noexcept specifiers
  • Introduces a new commit_wrapper class with basic functionality to retrieve the last commit

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/wrapper/wrapper_base.hpp New dedicated header containing the extracted wrapper_base template class with improved noexcept specifications
src/wrapper/commit_wrapper.hpp New wrapper class declaration for Git commit operations
src/wrapper/commit_wrapper.cpp Implementation of commit wrapper with destructor and last_commit static method
src/wrapper/status_wrapper.hpp Updated include path and added noexcept to move operations
src/wrapper/repository_wrapper.hpp Updated include path and added noexcept to move operations
src/wrapper/refs_wrapper.hpp Updated include path and added noexcept to move operations
src/wrapper/index_wrapper.hpp Updated include path and added noexcept to move operations
src/wrapper/index_wrapper.cpp Added missing include for common.hpp
src/utils/common.hpp Removed wrapper_base template class (moved to dedicated file)
CMakeLists.txt Added new commit wrapper and wrapper base files to build configuration


~commit_wrapper();

commit_wrapper(commit_wrapper&&) = default;
Copy link
Preview

Copilot AI Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The move constructor should be marked as noexcept to match the pattern used in other wrapper classes and the base class implementation.

Suggested change
commit_wrapper(commit_wrapper&&) = default;
commit_wrapper(commit_wrapper&&) noexcept = default;

Copilot uses AI. Check for mistakes.

~commit_wrapper();

commit_wrapper(commit_wrapper&&) = default;
commit_wrapper& operator=(commit_wrapper&&) = default;
Copy link
Preview

Copilot AI Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The move assignment operator should be marked as noexcept to match the pattern used in other wrapper classes and the base class implementation.

Suggested change
commit_wrapper& operator=(commit_wrapper&&) = default;
commit_wrapper& operator=(commit_wrapper&&) noexcept = default;

Copilot uses AI. Check for mistakes.

@ianthomas23 ianthomas23 merged commit c038e3f into QuantStack:main Jul 17, 2025
1 check passed
@JohanMabille JohanMabille deleted the commit_wrapper branch July 17, 2025 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants