Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This guide documents the best way to make various types of contribution to Apache Eagle (incubating), including what is required before submitting a code change.

...

...

Changes to Eagle source code are proposed, reviewed and committed via Github (described later) at https://github.com/apache/incubator-eagle/pulls. Anyone can view and comment on active changes here. Reviewing others' changes is a good way to learn how the change process works and gain exposure to activity in various parts of the code. You can help by reviewing the changes and asking questions or pointing out issues -- as simple as typos or small issues of style.

...

Apache Eagle documentations are mainly host on:

...

...

Contributing Code Changes

...

For who is new to eagle project, we have a label "new" to start with.

Jira
serverASF JIRA
jqlQueryproject = 12319222 AND labels = new
serverId5aa69414-a9e9-3523-82ec-879b028fb15b

...

  1. Find the existing Eagle JIRA that the change pertains to. If confirmed the change is new, create a new JIRA ticket if required with required fields
    • Issue Type
    • Priority
    • Affects Version
  2. Fork one's own feature branch from eagle official github (https://github.com/apache/incubator-eagle/)
  3. Fix bug / Develop feature in the feature branch. One might have multiple
  4. After development is done, send a github pull request. Like https://github.com/apache/incubator-eagle/pull/19. NOTE: Please make sure the pull request title is in format of EAGLE-${ticket_number} ${ticket_title}, so that ASF bot could help sync the pull request comments to JIRA automatically.

...

  1. Review: Committers should review the pull request changes, leave comments and sigh off about whether accept the code change. (Reject/Recall/Pass)

  2. Merge: merge the patch of the pull request and push the merged code to apache/incubbator-eagle (following process is temporary solution for manual merging, the automatic tool is under development  EAGLE-84)

    Info
    titlePre-requisite

    Committer(reviewer) should have already cloned repo from apache github

    git clone https://git-wip-us.apache.org/repos/asf/incubator-eagle.git

    git-apply 

    Code Block
    > git pull https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master # get latest
    > wget https://patch-diff.githubusercontent.com/raw/apache/incubator-eagle/pull/19.patch && git apply 19.patch    # anyway you like to get the patch and apply
    > # review the code; run the test; 
    > git commit   # Commit with the commit MSG described below if everything looks good
    > git push https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master # push to upstream

    git-rebase when necessary

    Code Block
    > git pull https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master # get latest
    > git pull https://github.com/<contributor>/incubator-eagle.git EAGLE-ID
    > git rebase -i # squash and modify the final committed message
    > git commit 
    > git push https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master

    Or git-reset

    Code Block
    languagebash
    > git pull https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master # get latest
    > git pull https://github.com/<contributor>/incubator-eagle.git EAGLE-ID
    > # review the code; run the test; 
    > git reset origin/master
    > git add .
    > git commit -a  # Commit with the commit MSG described below if everything looks good
    > git push https://git-wip-us.apache.org/repos/asf/incubator-eagle.git master # push to upstream

    Anchor
    Commit Msg Format
    Commit Msg Format
    Committers should follow an convention format to add appropriate commit message. The format should be:

    Code Block
    EAGLE-${jira_id} ${title}
    ${description}
    
    ${jira_url}
    
    Author: @${committer_github_id} <author_email>
    Reviewer: @${reviewer_github_id} <reviewer_email>
    
    Closes #${pull_request_id}

     

  3. Close: Committer to close the JIRA ticket. (Pull request will be close automatically)

...