Conversation
- Implemented unit tests for various branch merge strategies including Merge, Squash, Rebase, Cherry-Pick, and Fast-Forward. - Added tests for utility functions related to snapshot management and ancestor finding. - Ensured coverage for edge cases such as missing snapshots, circular references, and validation errors during merges. - Verified that all strategies return consistent structures and handle integration scenarios correctly. - Included tests for error handling and behavior differences across strategies.
|
@jayceslesar i know you have done a good bit of work in the managed snapshots class, can you review this as well? |
|
@gabeiglio i noticed you had created a pretty great proposal for this work. It would be awesome if you wanted to review the implementation and help get it in good shape! |
|
Thanks for the PR! this is awesome, will review it by this week! |
|
This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that's incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions. |
|
This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time. |
Closes #2433
Rationale for this change
This PR adds comprehensive branch merge strategies to PyIceberg, bringing Git-like branch merging capabilities to Iceberg table operations. This enhancement enables users to merge branches with different strategies depending on their workflow needs.
Feature Overview:
Apache Iceberg supports branch operations (create, delete, tag), but lacked merge capabilities between branches. This PR implements 5 standard merge strategies commonly used in version control systems (note, there are differences between this and the java implementation):
Implementation Details:
Use Cases:
Are these changes tested?
Yes,
extremelysomewhat comprehensive test coverage with 35 tests across multiple categories:Are there any user-facing changes?
Yes - New Feature Addition (No Breaking Changes)
New Public API: