Versions Compared

Key

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

...

  • Review PRs in a timely and reliable fashion
    • They should also help to actively whittle down the PR backlog
  • Answering questions (i.e. on the dev list, in PRs, in Jiras, Gitter, etc.)
  • Taking on core changes/bugs/feature requests
    • Some changes are important enough that a committer needs to ensure it gets done. This is especially the case if some one from the community is taking it on.
  • Improving processes and tooling
  • Refactoring code, etc.

...

  1. Start by navigating to the gobblin/dev directory and running the PR tool to print its help screen:

     


    # move to gobblin directory
    cd /path/to/gobblin
    dev/gobblin-pr --help 



  2. If you have not already done so, setup the git remotes

     


    dev/gobblin-pr setup_git_remotes



  3. Check out a PR to your local machine for testing. The PR tool will pause after the PR is checked out; when resumed it will delete the PR and restore your original environment:

     


    # XXX is the GitHub PR number, for example 23
    dev/gobblin-pr work_local XXX



  4. Merge a PR to Gobblin master. This command will also prompt you to close related JIRA issues:

     


    # XXX is the GitHub PR number, for example 23
    dev/gobblin-pr merge XXX



...

Merging PRs by Hand

Overview

...

Step 2: Add a remote for the github Work-in-progress 


Step 3: Display Remotes

$ git remote -v
apache https://git-wip-usgitbox.apache.org/repos/asf/incubator-gobblin.git (fetch)
apache https://git-wip-usgitbox.apache.org/repos/asf/incubator-gobblin.git (push)
origin git@github.com:apache/incubator-gobblin.git (fetch)
origin git@github.com:apache/incubator-gobblin.git (push) 

Step 4: Pick a PR

Step 5: Make sure Local Master is up-to-date
git checkout master
git pull -r
 

Step 6: Fetch the PR into a branch named after the PR number (e.g. 2020)

git fetch origin pull/2020/head:2020


Step 7: Merge that branch into your current master

git merge 2020

 


 

Make sure that the PR to be merged has been squashed, and the comment of the commit starts with the GOBBLIN JIRA number (e.g. `[GOBBLIN-168] Standardize Github PR template for Gobblin`). Also, ensure that the JIRA references the PR in the "external_issue_url" so that the PR gets closed automatically when you merge.

 


Step 8: Run relevant tests

Step 9: Push local master to apache master
git push apache master
(this will get mirrored to github master)

Step 10: What happens next?
  • Sub-Step A: You will noticed that the ASFGIT bot will automatically close your PR as merged
  • Sub-Step B: Close the JIRA

Note : I maintain my fork in a different work space – IMHO more than 2 remotes can lead to silly mistakes.



Adding New Committers/PMC Members to the Gobblin Incubation Status Page

The goal of these instructions is to update http://incubator.apache.org/projects/gobblin.html


  1. Check out the svn repo at https://svn.apache.org/repos/asf/incubator/public/trunk/content/projects
  2. Update {local_working_dir}/content/projects/gobblin.xml
  3. svn commit -m "Adding xxx as committer/pmc member to apache gobblin"
  4. Publish to the incubator website using https://cms.apache.org/incubator/publish
  5. Verify your change on http://incubator.apache.org/projects/gobblin.html

 



References for Committers