[
https://issues.apache.org/jira/browse/STORM-1885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15345930#comment-15345930
]
ASF GitHub Bot commented on STORM-1885:
---------------------------------------
Github user HeartSaVioR commented on the issue:
https://github.com/apache/storm/pull/1468
Here's my understanding regarding this script.
> main()
* get latest branch (highest version) from github mirror
* it assumes that prefix of release branch is `release version`
* get information regarding pull request and events of pull request
* prompt user(committer) to input commit title: default value is title of
pull request, and user can replace them
* standardize commit title (via standardize_jira_ref)
* prompt user to use title as modified vs original
* check that pull request is already merged (closed by asfgit)
* if it is, check merge commit is fetched to local, and cherry-pick to
latest branch assuming user wants backport
* prompt user to continue if PR seems to resolve conflicts (by seeing flag
from PR information)
* print information of pull request, and commit title, and so on, and
prompt user to go on
* merge PR into target branch of PR: get commit hash afterwards
* prompt user to see user wants cherry-pick
* if yes, cherry-pick to latest branch
* prompt user to update associated JIRA
* if yes, resolve issue as fixed with leaving comment
> merge_pr()
* fetch branch which pull request is referring
* fetch and checkout branch which pull request targets (from asf-git)
* merge pull request branch with squash option
* if there're some conflicts, guide user to fix it and mark as resolved
(via git add)
* prompt user to input main author: default value is who has most of
commits (via extracting authors from pull request branch and sort)
* prompt user to input reviewers: can be blank
* prompt user to see user wants to list all commits into commit message
* construct commit message by
* commit title
* body of pull request if presented
* all authors
* all reviewers if presented
* user if user resolves merge conflict manually
* auto close message for pull request
* list of commits if user want to
* commit with passing main author as author, and commit message
* prompt user to push, or stop
* push changes to remote repository (to asf-git)
* clean temporary branches
* get commit hash and return
> cherry_pick()
* prompt user to input branch name to cherry-pick: default value is latest
branch which is passed from main()
* fetch and checkout branch which cherry-pick targets (from asf-git)
* cherry-pick with commit hash
* if there're some conflicts, guide user to fix it and complete
cherry-pick manually
* prompt user to push, or stop
* push changes to remote repository (to asf-git)
* clean temporary branches
* get commit hash and return
> resolve_jira_issue()
* prompt user to input JIRA issue ID: default value is extracted value from
commit title
* get information of the issue
* check status and stop if issue is already marked as 'Resolved'
* print information of the issue
* prompt user to input comma-separated fix versions
* default values are `unreleased` versions matched to target branch for
merge() / cherry_pick()
* develop branch is treated as default version
* mark issue as 'Resolved' with setting fix versions and leaving comment
> python script for squashing and merging prs
> -------------------------------------------
>
> Key: STORM-1885
> URL: https://issues.apache.org/jira/browse/STORM-1885
> Project: Apache Storm
> Issue Type: Task
> Reporter: Sriharsha Chintalapani
> Assignee: Sriharsha Chintalapani
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)