[ 
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)

Reply via email to