Skip to content

Conversation

@ydbot
Copy link
Collaborator

@ydbot ydbot commented Nov 27, 2025

Changelog entry

Enhance cherry-pick script: FOR CHANGLOG TEST!
ITS GOOD CHANGES!

Changelog category

  • Not for changelog (changelog entry is not required)

Description for reviewers

Original PR(s)

Metadata

Git Cherry-Pick Log

=== Cherry-picking 6b621df ===
Auto-merging .github/workflows/cherry_pick.yml
[cherry-pick-stable-25-3-251127-230556 820d68d598f] Enhance cherry-pick script with support for unmerged PRs and improved error handling
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 12:40:18 2025 +0100
 2 files changed, 652 insertions(+), 72 deletions(-)

=== Cherry-picking 8552c22 ===
Auto-merging .github/workflows/cherry_pick.yml
[cherry-pick-stable-25-3-251127-230556 109c4ce17b7] Enhance cherry-pick script with changelog extraction and improved PR body formatting
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 12:55:18 2025 +0100
 2 files changed, 162 insertions(+), 17 deletions(-)

=== Cherry-picking 102ac95 ===
[cherry-pick-stable-25-3-251127-230556 57d548eabb2] Enhance cherry-pick script to avoid branch name conflicts and improve backport comment handling
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 13:07:11 2025 +0100
 1 file changed, 31 insertions(+), 6 deletions(-)

=== Cherry-picking f064c5d ===
[cherry-pick-stable-25-3-251127-230556 7c39046f81c] Enhance cherry-pick script to include detailed conflict resolution information
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 14:16:29 2025 +0100
 1 file changed, 61 insertions(+), 18 deletions(-)

=== Cherry-picking 391896e ===
[cherry-pick-stable-25-3-251127-230556 4c9fad3b1ff] Add PR template and category definitions for validation
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 14:20:32 2025 +0100
 3 files changed, 84 insertions(+), 63 deletions(-)
 create mode 100644 .github/actions/validate_pr_description/pr_template.py

=== Cherry-picking a22daf4 ===
[cherry-pick-stable-25-3-251127-230556 6abc803262c] Enhance cherry-pick script with improved error handling and conflict resolution
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 15:19:10 2025 +0100
 1 file changed, 49 insertions(+), 40 deletions(-)

=== Cherry-picking ed3267e ===
[cherry-pick-stable-25-3-251127-230556 f1ffacfc41e] Enhance cherry-pick script with improved conflict handling and logging
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 15:53:02 2025 +0100
 1 file changed, 135 insertions(+), 20 deletions(-)

=== Cherry-picking fccbda3 ===
[cherry-pick-stable-25-3-251127-230556 54cf67f3d15] Refactor changelog extraction in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 16:39:19 2025 +0100
 1 file changed, 59 insertions(+), 33 deletions(-)

=== Cherry-picking 88c83ad ===
[cherry-pick-stable-25-3-251127-230556 b4b3ba2eb55] Enhance cherry-pick script with improved diff link generation
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 16:49:48 2025 +0100
 1 file changed, 39 insertions(+), 14 deletions(-)

=== Cherry-picking 1ea50f0 ===
[cherry-pick-stable-25-3-251127-230556 381d6171085] Enhance cherry-pick script with improved backport comment management
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 17:10:39 2025 +0100
 1 file changed, 93 insertions(+), 15 deletions(-)

=== Cherry-picking 1cf3ccb ===
[cherry-pick-stable-25-3-251127-230556 3e4a4fb2a73] Refactor cherry-pick script for improved PR validation and changelog extraction
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 18:05:22 2025 +0100
 1 file changed, 59 insertions(+), 44 deletions(-)

=== Cherry-picking 6b14cb9 ===
[cherry-pick-stable-25-3-251127-230556 30583a3827c] Update cherry-pick script to change cherry-pick command options
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 18:15:53 2025 +0100
 1 file changed, 1 insertion(+), 1 deletion(-)

=== Cherry-picking 8805c9a ===
[cherry-pick-stable-25-3-251127-230556 b3c135c970f] Refactor cherry-pick command in script to simplify handling of empty commits
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 18:26:58 2025 +0100
 1 file changed, 2 insertions(+), 1 deletion(-)

=== Cherry-picking 12a4d4d ===
[cherry-pick-stable-25-3-251127-230556 8c7ac30299f] Refactor cherry-pick script to streamline commit existence checks and improve error handling
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 23:42:22 2025 +0100
 1 file changed, 10 insertions(+), 85 deletions(-)

=== Cherry-picking f2fb02b ===
[cherry-pick-stable-25-3-251127-230556 6a8bb9fe97a] Enhance cherry-pick script to improve conflict message handling and logging
 Author: naspirato <naspirato@gmail.com>
 Date: Tue Nov 18 23:59:07 2025 +0100
 1 file changed, 103 insertions(+), 28 deletions(-)

=== Cherry-picking 041d2f5 ===
[cherry-pick-stable-25-3-251127-230556 4e03d14ea14] Enhance cherry-pick script to improve conflict summary generation
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 00:09:41 2025 +0100
 1 file changed, 24 insertions(+), 2 deletions(-)

=== Cherry-picking 0b24c4e ===
[cherry-pick-stable-25-3-251127-230556 b19bb248ff7] Refine conflict message extraction in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 11:02:29 2025 +0100
 1 file changed, 57 insertions(+), 10 deletions(-)

=== Cherry-picking 870456f ===
[cherry-pick-stable-25-3-251127-230556 28d2b67299d] Refine changelog category extraction in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 12:02:02 2025 +0100
 1 file changed, 16 insertions(+), 6 deletions(-)

=== Cherry-picking deede0b ===
[cherry-pick-stable-25-3-251127-230556 75976a07030] Add missing conflict markers for special conflict types in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 12:09:49 2025 +0100
 1 file changed, 111 insertions(+)

=== Cherry-picking 3363bbf ===
[cherry-pick-stable-25-3-251127-230556 1ca3115bbd8] Enhance logging in cherry-pick script for conflict handling
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 12:28:08 2025 +0100
 1 file changed, 19 insertions(+), 1 deletion(-)

=== Cherry-picking 6738c61 ===
[cherry-pick-stable-25-3-251127-230556 6785b4808fe] Improve conflict handling in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 15:16:28 2025 +0100
 1 file changed, 34 insertions(+), 2 deletions(-)

=== Cherry-picking 55f9dc4 ===
[cherry-pick-stable-25-3-251127-230556 3e35848171d] Refactor conflict message extraction in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 15:27:13 2025 +0100
 1 file changed, 159 deletions(-)

=== Cherry-picking 7cfd561 ===
[cherry-pick-stable-25-3-251127-230556 aa1ee21f43e] Refactor conflict message extraction in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Wed Nov 19 15:27:25 2025 +0100
 1 file changed, 31 insertions(+), 43 deletions(-)

=== Cherry-picking 03bbbf3 ===
[cherry-pick-stable-25-3-251127-230556 0bb88bb69b0] Improve conflict handling and logging in cherry-pick script
 Author: naspirato <naspirato@gmail.com>
 Date: Thu Nov 20 16:02:08 2025 +0100
 1 file changed, 8 insertions(+), 1 deletion(-)

PR was created by cherry-pick workflow run

… 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.
@ydbot ydbot requested a review from a team as a code owner November 27, 2025 23:06
@ydbot ydbot enabled auto-merge November 27, 2025 23:06
@github-actions
Copy link

github-actions bot commented Nov 27, 2025

2025-11-27 23:07:51 UTC Pre-commit check linux-x86_64-relwithdebinfo for b879f40 has started.
2025-11-27 23:08:20 UTC Artifacts will be uploaded here
2025-11-27 23:11:20 UTC ya make is running...
🟢 2025-11-27 23:11:26 UTC Tests successful.

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-11-27 23:11:32 UTC Build successful.

@github-actions
Copy link

🟢 2025-11-27 23:12:52 UTC The validation of the Pull Request description is successful.

@github-actions
Copy link

github-actions bot commented Nov 27, 2025

2025-11-27 23:13:22 UTC Pre-commit check linux-x86_64-release-asan for b879f40 has started.
2025-11-27 23:13:37 UTC Artifacts will be uploaded here
2025-11-27 23:16:14 UTC ya make is running...
🟢 2025-11-27 23:16:20 UTC Tests successful.

Ya make output | Test bloat

TESTS PASSED ERRORS FAILED SKIPPED MUTED?
0 0 0 0 0 0

🟢 2025-11-27 23:16:26 UTC Build successful.

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