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_
    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-
    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

...

git clone git@github.com:apache/incubator-gobblin.git

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

git remote add apache https://git-wip-usgitbox.apache.org/repos/asf/incubator-gobblin.git


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



References for Committers 

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