-
Notifications
You must be signed in to change notification settings - Fork 738
[Backport stable-25-3] cherry-pick PR 29440, PR 29064 #29516
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
Conversation
… error handling - Added `--allow-unmerged` option to backport unmerged PRs directly using their commits. - Introduced `--merge-commits` option to control behavior for merge commits (skip or fail). - Enhanced error handling for cherry-pick conflicts and Git command failures. - Improved PR title and body formatting to include metadata and linked issues. - Updated workflow configuration to support new script options.
…body formatting - Added methods to extract changelog category, entry, and description from PR body. - Improved PR body generation to include extracted changelog information and ensure validation requirements are met. - Updated workflow configuration to support new changelog features.
… backport comment handling - Updated datetime formatting to include seconds, preventing branch name conflicts. - Added method to find and update existing backport comments in original PRs, enhancing comment management. - Improved logging for comment creation and updates to provide clearer feedback on operations.
…formation - Updated the `created_backport_prs` structure to store conflicted files alongside target branches and PRs. - Improved the PR body generation to include a section for files with conflicts, providing links for easier resolution. - Enhanced conflict handling to return a list of conflicted files, improving logging and user feedback during cherry-pick operations.
- Introduced a new `pr_template.py` file containing PR template and issue reference patterns for the YDB project. - Updated `validate_pr_description.py` to utilize the new template and patterns, ensuring consistency in PR descriptions. - Enhanced `cherry_pick.py` to import category definitions and streamline changelog category handling.
…resolution - Added detailed error handling for the `git rev-parse` command to ensure the repository is cloned before execution. - Updated exception handling to specify the type of error encountered during PR fetching and automerge attempts. - Improved conflict detection logic to ensure all changes are captured and logged appropriately. - Enhanced logging for conflict resolution, providing clearer feedback on the status of conflicted files.
- Added detailed diagnostics for `git merge-base` command to better handle ancestor checks and error reporting. - Updated conflict resolution logic to capture line numbers of conflicts, improving user feedback on conflicted files. - Enhanced PR body generation to include links to specific lines in files with conflicts, facilitating easier resolution. - Introduced a method to find the first line with conflict markers in files, improving conflict detection accuracy.
- Renamed method to extract only the content of the Changelog entry section from PR body. - Updated logic to collect and merge Changelog entry contents from multiple PRs, improving clarity and usability. - Enhanced fallback mechanisms for Changelog entry generation, ensuring robust handling of various PR scenarios.
- Updated the logic for generating links to files in PR diffs to use SHA256 hashes of file content, improving accuracy and reliability. - Introduced a fallback mechanism to link to the PR files page if the diff hash cannot be retrieved. - Refactored the method for computing file hashes to handle base64-encoded content, ensuring compatibility with GitHub's requirements for diff anchors.
- Updated logic to check for existing backport comments and determine if updates are necessary based on the presence of target branches and workflow URLs. - Improved handling of comment updates to append results or replace "in progress" lines, ensuring clarity in backport status. - Enhanced logging for comment updates to provide better feedback on operations related to backport comments.
…extraction - Enhanced import handling for the PR template to include error logging for import failures. - Updated PR validation logic to utilize already loaded PR objects, reducing unnecessary API calls. - Refactored changelog entry extraction to support stopping at the changelog category, improving flexibility. - Improved file hash computation to handle both text and binary files correctly. - Enhanced conflict line detection and error handling for better user feedback during cherry-pick operations.
- Modified the cherry-pick command to use '--empty=drop' instead of '--allow-empty', improving handling of empty commits during cherry-picking operations.
…commits - Removed the '--empty=drop' option from the cherry-pick command, as it is unnecessary due to Git's default behavior of skipping empty commits. This change streamlines the command and improves clarity in the script.
… improve error handling - Removed the method for checking if a commit exists in the target branch, simplifying the cherry-pick process. - Updated the cherry-pick logic to handle cases where commits are already applied, improving user feedback and logging during cherry-pick operations.
…ogging - Updated the conflict resolution logic to capture and display detailed conflict messages alongside file paths and line numbers. - Introduced a new method to extract conflict messages from git output, enhancing clarity during manual resolution. - Improved logging to provide detailed information about detected conflicts, aiding in troubleshooting and resolution efforts.
- Updated the conflict handling logic to create a detailed summary of files with conflicts, including file paths, line numbers, and associated messages. - Improved the formatting of PR summaries for better readability, ensuring clarity when conflicts arise during cherry-picking operations.
- Enhanced the logic for capturing conflict messages to ensure accurate matching of file paths, including handling both relative and absolute paths. - Improved the detection of continuation lines in conflict messages, allowing for better summarization of conflicts. - Added a cleanup step to quit the cherry-pick operation if no commits are left to apply, improving script robustness.
- Updated the logic to collect and determine the changelog category from multiple PRs, ensuring it is only set if all categories are the same. - Improved handling of category extraction to allow for better flexibility when dealing with differing categories across PRs. - Enhanced comments for clarity on the purpose of category determination in the changelog process.
…k script - Introduced a new method to add Git conflict markers for conflict types (DU, UD, AA) where they are not generated automatically. - Enhanced the conflict resolution process by ensuring visibility of conflicts in PR diffs, improving user experience during cherry-picking. - Updated logging to provide feedback when conflict markers are added, aiding in troubleshooting and resolution efforts.
- Added debug and warning logs to provide better visibility into the conflict resolution process, including details on the number of status lines and specific conflict types (DU, UD, AA). - Improved error handling by including exception information in warning logs when adding conflict markers fails. - Updated logging to ensure clarity on the state of conflict markers and the conditions under which they are added or skipped.
- Added logic to skip files that already have conflict markers to prevent overwriting existing information during cherry-picking. - Introduced a mechanism to track processed files, ensuring that multiple conflicts in the same file are handled sequentially without duplication. - Enhanced logging to provide clearer insights into the conflict resolution process, including reasons for skipping files and details on existing conflict markers.
- Replaced the previous method for extracting conflict messages with a new function that accurately matches file paths from git output, improving reliability. - Enhanced the handling of conflict messages to ensure both relative and absolute paths are considered, streamlining the conflict resolution process. - Removed redundant code related to conflict message extraction, simplifying the overall logic and improving maintainability.
- Introduced a new method to find conflict messages for specific files, improving the accuracy of message matching from git output. - Simplified the conflict message extraction logic by consolidating redundant code, enhancing maintainability and readability. - Ensured compatibility with both relative and absolute file paths in conflict message matching, streamlining the conflict resolution process.
- Added a warning log for unexpected clean working tree state after conflict detection, indicating potential auto-resolution or inconsistent state. - Updated the cherry-pick logic to use '--skip' instead of '--quit' when a commit is already in the target branch, enhancing the cleanup process during cherry-picking.
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
Pull request was closed
|
🟢 |
|
⚪
🟢
*please be aware that the difference is based on comparing your commit and the last completed build from the post-commit, check comparation |
Changelog entry
FOR CHANGLOG TEST!
ITS GOOD CHANGES!
Changelog category
Description for reviewers
Original PR(s)
Metadata
Git Cherry-Pick Log
PR was created by cherry-pick script