Skip to content

Instantly share code, notes, and snippets.

@benjaminhoffman
Created December 22, 2016 22:06
Show Gist options
  • Select an option

  • Save benjaminhoffman/e3828f5f2806b7fbe1bba16f868be87d to your computer and use it in GitHub Desktop.

Select an option

Save benjaminhoffman/e3828f5f2806b7fbe1bba16f868be87d to your computer and use it in GitHub Desktop.

Revisions

  1. benjaminhoffman created this gist Dec 22, 2016.
    514 changes: 514 additions & 0 deletions git history
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,514 @@
    ➜ app git:(canary) robo prod hello
    hello :)
    ➜ app git:(canary) git pull origin canary
    From ssh://github.com/segmentio/app
    * branch canary -> FETCH_HEAD
    Already up-to-date.
    ➜ app git:(canary) scripts/deploy.sh
    The current version is: 3.138.0
    Will deploy 3.139.0. Is this OK? (y/n) y
    Deploying 3.139.0
    Already on 'canary'
    Your branch is up-to-date with 'origin/canary'.
    From ssh://github.com/segmentio/app
    * branch canary -> FETCH_HEAD
    Already up-to-date.
    Switched to branch 'master'
    Your branch is behind 'origin/master' by 65 commits, and can be fast-forwarded.
    (use "git pull" to update your local branch)
    Updating d8f6d50..9c21f5a
    Fast-forward
    .github/PULL_REQUEST_TEMPLATE.md | 14 +-
    History.md | 141 +++++++++++++++
    client/.eslintrc | 5 +-
    client/actions/accounts-by-sourceid.js | 32 ++++
    client/actions/accounts.js | 10 +-
    client/actions/billing.js | 28 ++-
    client/actions/index.js | 29 +--
    client/actions/lockouts.js | 29 +++
    client/actions/metadata-metrics.js | 4 +-
    client/actions/metadata.js | 37 ++--
    client/actions/oauth.js | 12 ++
    client/actions/setup.js | 26 +--
    client/actions/source-settings-validation.js | 36 ++++
    client/actions/source-setup.js | 16 ++
    client/actions/sources-catalog.js | 4 +
    client/actions/sources.js | 80 +++++++++
    client/analytics/setup.js | 9 +-
    client/components/Forgot.js | 39 ++++
    .../forgot-done/index.css => components/Forgot.module.css} | 3 +-
    .../forgot-done/index.js => components/ForgotDone.js} | 28 +--
    .../index.css => components/ForgotDone.module.css} | 6 +-
    client/components/ForgotError.js | 28 +++
    .../index.css => components/ForgotError.module.css} | 3 +-
    client/components/ForgotForm.js | 45 +++++
    client/components/ForgotHeader.js | 11 ++
    client/{pages/login => }/components/Login.js | 6 +-
    .../components/Login.css => components/Login.module.css} | 4 +-
    client/{pages/login => }/components/LoginEnableAlert.js | 3 +-
    .../LoginEnableAlert.module.css} | 2 +-
    client/{pages/login => }/components/LoginError.js | 3 +-
    .../LoginError.css => components/LoginError.module.css} | 2 +-
    client/{pages/login => }/components/LoginFooter.js | 3 +-
    client/components/LoginFooter.module.css | 5 +
    client/{pages/login => }/components/LoginForm.js | 16 +-
    client/{pages/login => }/components/LoginHeader.js | 5 +-
    .../LoginHeader.css => components/LoginHeader.module.css} | 8 +-
    client/containers/ForgotApp.js | 32 ++++
    client/{pages/login => }/containers/LoginApp.js | 6 +-
    client/index.css | 6 +-
    client/{pages/login => }/index.js | 6 +-
    client/lib/utils/billing.js | 8 +-
    client/lib/utils/index.js | 10 --
    client/lib/utils/stats.js | 10 ++
    client/lib/validation/index.js | 10 +-
    client/pages/activity/containers/activity-app/index.js | 6 +-
    client/pages/error/index.js | 1 +
    client/pages/forgot/components/forgot-error/index.js | 50 ------
    client/pages/forgot/components/forgot-form/index.js | 49 ------
    client/pages/forgot/containers/forgot-home/index.js | 62 -------
    client/pages/forgot/index.css | 4 -
    client/pages/forgot/index.js | 34 ----
    client/pages/login/components/LoginFooter.css | 3 -
    client/pages/login/components/LoginForm.css | 32 ----
    client/pages/login/index.css | 7 -
    client/pages/partners/analytics/index.js | 50 ++++--
    client/pages/partners/containers/partner-profile/index.js | 3 +-
    client/pages/partners/containers/partner-raw/index.js | 8 +-
    client/pages/partners/containers/partner-report/index.js | 3 +
    client/pages/reset/containers/reset-home/index.js | 2 +-
    client/pages/signup/components/signup-radio-field/index.css | 3 -
    client/pages/signup/components/signup-step-company/index.js | 2 +-
    client/pages/signup/components/signup-step-user/index.js | 14 +-
    client/pages/signup/containers/signup-form/index.js | 10 +-
    .../containers/workspace-settings-basic-dialog/index.js | 3 +-
    .../containers/workspace-settings/index.js | 2 -
    client/pages/workspace-settings/index.js | 88 ++++++---
    .../legacy/billing/usage/legacy/usage-history/index.js | 7 +-
    .../index.js | 0
    .../index.js | 0
    .../index.js | 6 +-
    .../components/legacy-source-setup-accounts/index.js | 21 +--
    .../components/source-details-sheet-content/index.js | 14 +-
    .../components/source-details-sheet-sidebar/index.js | 4 +-
    .../components/source-details-sheet/index.js | 10 +-
    .../components/source-integration-settings-client/index.js | 21 ++-
    .../components/source-integration-support-links/index.js | 2 +
    .../components/source-setup-accounts-table/index.js | 53 ++++++
    .../components/source-setup-connect/index.js | 114 ++++++++++++
    .../components/source-setup-connect/index.module.css | 25 +++
    .../components/source-setup-connected/index.js | 82 +++++++++
    .../components/source-setup-connected/index.module.css | 26 +++
    .../components/source-setup-header/index.js | 25 +++
    .../components/source-setup-header/index.module.css | 10 ++
    .../components/source-setup-select-account/index.js | 87 +++++++++
    .../components/source-setup-select-account/index.module.css | 33 ++++
    .../workspace-sources/components/source-setup-sheet/index.js | 17 ++
    .../components/source-setup-sheet/index.module.css | 10 ++
    .../components/source-setup-test-connection/index.js | 108 ++++++++++++
    .../components/source-setup-test-connection/index.module.css | 22 +++
    .../components/source-setup-warehouse-config/index.js | 122 +++++++++++++
    .../source-setup-warehouse-config/index.module.css | 33 ++++
    .../pages/workspace-sources/components/source-setup/index.js | 67 +++++++
    .../components/source-setup/index.module.css | 10 ++
    .../workspace-sources/containers/source-integration/index.js | 24 ++-
    .../containers/source-setup-connect/index.js | 47 +++++
    .../containers/source-setup-connected/index.js | 96 ++++++++++
    .../containers/source-setup-select-account/index.js | 57 ++++++
    .../containers/source-setup-test-connection/index.js | 125 +++++++++++++
    .../containers/source-setup-warehouse-config/index.js | 71 ++++++++
    .../pages/workspace-sources/containers/source-setup/index.js | 72 ++++++++
    .../containers/source-setup/index.states.js | 241 +++++++++++++++++++++++++
    .../pages/workspace-sources/containers/sources-app/index.js | 22 +--
    .../workspace-sources/containers/sources-catalog/index.js | 220 +++++++++++++----------
    .../workspace-sources/source/schema/event-dashboard/index.js | 2 +-
    .../workspace-sources/source/schema/event-editor/index.js | 13 +-
    .../source/schema/event-integrations/index.js | 4 +-
    .../workspace-sources/source/schema/event-list/index.js | 117 ++++++++++--
    .../workspace-sources/source/schema/event-page/index.js | 21 ++-
    .../source/schema/event-properties/index.js | 14 +-
    .../components/customOauthConnections/facebookads.js | 20 ++-
    .../settings/components/source-connected-account/index.js | 2 +-
    .../source/settings/components/source-sub-accounts/index.js | 6 +-
    .../containers/customOauthConnections/facebookads.js | 38 +++-
    client/pages/workspace-sources/source/settings/index.css | 13 +-
    client/pages/workspace-sources/source/settings/index.js | 62 ++++++-
    .../workspace-warehouses/components/checkbox-tile/index.js | 34 ----
    .../components/connect-existing-database/index.js | 2 +-
    .../components/warehouse-metadata-selector/index.js | 5 +-
    .../warehouse-settings-selective-sync-browser/pane.js | 9 +-
    .../containers/warehouse-data-qa/index.js | 7 +-
    .../containers/warehouse-settings-selective-sync/data.js | 4 +-
    .../containers/warehouse-settings-selective-sync/index.js | 34 +++-
    client/pages/workspace-warehouses/index.css | 1 -
    client/reducers/accounts-by-sourceid.js | 27 +++
    client/reducers/accounts-by-sourceid.test.js | 46 +++++
    client/reducers/application/index.js | 4 +
    client/reducers/application/setup.js | 8 +
    client/reducers/application/source-setup.js | 65 +++++++
    client/reducers/application/source-setup.test.js | 96 ++++++++++
    client/reducers/application/sources-catalog.js | 9 +
    client/reducers/create-source-setting-request.js | 27 +++
    client/reducers/create-source-setting-request.test.js | 48 +++++
    client/reducers/index.js | 12 +-
    client/reducers/lockouts.js | 31 +++-
    client/reducers/source-settings-base-data.js | 30 ++++
    client/reducers/source-settings-validation.js | 40 +++++
    client/reducers/source-settings-validation.test.js | 59 +++++++
    client/reducers/source-slug.js | 23 +++
    client/reducers/source-slug.test.js | 42 +++++
    client/reducers/sources.js | 60 ++++---
    client/reducers/sources.test.js | 83 +++++++++
    client/reducers/utils/create-request-reducer.js | 7 +-
    client/reducers/utils/create-settings-reducer.js | 18 ++
    client/selectors/accounts-by-sourceid.js | 13 ++
    client/selectors/accounts-by-sourceid.test.js | 44 +++++
    client/selectors/application.js | 8 +-
    client/selectors/billing.js | 6 +
    client/selectors/create-source-setting-request.js | 7 +
    client/selectors/create-source-setting-request.test.js | 34 ++++
    client/selectors/index.js | 6 +
    client/selectors/lockouts.js | 42 ++++-
    client/selectors/lockouts.test.js | 88 +++++++++
    client/selectors/metadata-reports.js | 15 +-
    client/selectors/metadata.js | 98 +++++------
    client/selectors/metadata.test.js | 225 +++++++++++++++++++++++
    client/selectors/source-settings-base-data.js | 12 ++
    client/selectors/source-settings-base-data.test.js | 38 ++++
    client/selectors/source-settings-validation.js | 17 ++
    client/selectors/source-settings-validation.test.js | 58 ++++++
    client/selectors/source-setup.js | 52 ++++++
    client/selectors/source-setup.test.js | 127 +++++++++++++
    client/selectors/source-slug.js | 10 ++
    client/selectors/source-slug.test.js | 27 +++
    client/selectors/sources.js | 15 +-
    client/selectors/workspaces.js | 1 +
    client/store/index.js | 7 +-
    client/store/preloaded-state-from-segment-global.js | 37 ----
    client/store/preloaded-state.js | 72 ++++++++
    client/ui-react/Button.js | 5 +-
    client/ui-react/Form.js | 56 ++++++
    client/ui-react/Form.module.css | 87 +++++++++
    client/ui/alert/index.css | 1 +
    client/ui/app/index.css | 7 +
    client/ui/app/index.js | 52 +++++-
    client/ui/billing-error/index.js | 33 ++++
    client/ui/button/index.css | 13 +-
    client/ui/button/index.js | 5 +-
    client/ui/checkbox-tile/index.js | 45 +++++
    .../index.css => ui/checkbox-tile/index.module.css} | 22 +--
    client/ui/checkbox/index.css | 4 +-
    client/ui/checkbox/index.js | 3 +-
    client/ui/form/index.css | 2 +-
    client/ui/fullscreen-modal/index.css | 3 +-
    client/ui/gravatar/index.js | 2 +-
    .../components/main/user/password-editor/index.js | 3 +
    client/ui/pills/lib/pills.js | 12 +-
    client/ui/pureui-component/README.md | 45 +++++
    client/ui/pureui-component/index.js | 46 +++++
    client/ui/setup-topbar/index.module.css | 2 +-
    client/ui/sheet/index.css | 4 +-
    client/ui/table-2/index.css | 36 ++--
    client/ui/table-2/index.js | 15 +-
    client/ui/table-sortable/index.js | 72 ++++++++
    client/ui/upgrade-prompt/components/plan-card/index.js | 2 +-
    docker-compose.yml | 13 +-
    karma.conf.js | 7 +-
    package.json | 12 +-
    public/ui/alert/images/danger.svg | 8 +-
    scripts/deploy.sh | 16 +-
    scripts/dev.js | 6 +-
    server/api/accounts.js | 24 +++
    server/api/billings.js | 12 +-
    server/api/index.js | 35 +++-
    server/api/misc.js | 4 +-
    server/api/oauth/index.js | 92 +++++++++-
    server/api/oauth/{ => providers}/adwords.js | 6 +-
    server/api/oauth/{ => providers}/facebook-ads.js | 6 +-
    server/api/oauth/{ => providers}/hubspot.js | 2 +-
    server/api/oauth/providers/index.js | 9 +
    server/api/oauth/{ => providers}/salesforce.js | 8 +-
    server/api/oauth/{ => providers}/stripe.js | 0
    server/api/oauth/{ => providers}/twilio.js | 0
    server/api/oauth/{ => providers}/zendesk.js | 2 +-
    server/api/partner-metadatas.js | 36 +---
    server/api/projects.js | 24 +++
    server/api/schema.js | 4 +-
    server/api/source-metadatas.js | 49 +-----
    server/api/source-settings.js | 4 +-
    server/api/source-upgrades.js | 19 ++
    server/api/utils/oauth.js | 77 ++++++++
    server/api/warehouses.js | 16 +-
    server/api/workspaces.js | 80 +++++----
    server/boot.js | 5 +
    server/index.js | 4 +-
    server/lib/mailers/partner-portal/index.js | 52 ++----
    .../partner-portal/{templates/new.html => template.html} | 30 ++--
    .../partner-portal/{templates/new.txt => template.txt} | 11 +-
    server/lib/mailers/partner-portal/templates/existing.html | 45 -----
    server/lib/mailers/partner-portal/templates/existing.txt | 21 ---
    server/lib/utils/index.js | 33 ----
    server/settings.js | 32 ++--
    server/ui/layouts/errors/template.hbs | 15 +-
    server/ui/layouts/nav/template.hbs | 5 +-
    server/ui/layouts/spa/template.hbs | 7 +-
    server/ui/pages/forgot/index.js | 21 ---
    server/ui/pages/forgot/template.hbs | 2 -
    server/ui/pages/reset/index.js | 3 +-
    server/ui/pages/{login => spa}/index.js | 9 +-
    server/ui/pages/{login => spa}/template.hbs | 0
    server/ui/pages/workspace-sources/index.js | 2 +-
    server/ui/routes.js | 3 +-
    test/client/selectors/metadata-reports.js | 16 ++
    test/client/ui/table-2.js | 4 +-
    test/server/api/accounts.js | 117 ++++++++++++
    test/server/api/oauth.js | 245 ++++++++++++++++++++++++++
    test/server/api/projects.js | 40 ++++-
    test/server/api/source-metadatas.js | 2 +-
    test/server/api/source-settings.js | 2 +-
    test/server/api/source-upgrades.js | 169 ++++++++++++++++++
    test/server/api/users.js | 116 +++++++++++-
    test/server/api/utils/mocks.js | 76 ++++++++
    webpack.config.js | 9 +-
    252 files changed, 6271 insertions(+), 1335 deletions(-)
    create mode 100644 client/actions/accounts-by-sourceid.js
    create mode 100644 client/actions/oauth.js
    create mode 100644 client/actions/source-settings-validation.js
    create mode 100644 client/actions/source-setup.js
    create mode 100644 client/actions/sources-catalog.js
    create mode 100644 client/components/Forgot.js
    rename client/{pages/forgot/components/forgot-done/index.css => components/Forgot.module.css} (81%)
    rename client/{pages/forgot/components/forgot-done/index.js => components/ForgotDone.js} (64%)
    rename client/{pages/forgot/components/forgot-form/index.css => components/ForgotDone.module.css} (65%)
    create mode 100644 client/components/ForgotError.js
    rename client/{pages/forgot/components/forgot-error/index.css => components/ForgotError.module.css} (54%)
    create mode 100644 client/components/ForgotForm.js
    create mode 100644 client/components/ForgotHeader.js
    rename client/{pages/login => }/components/Login.js (88%)
    rename client/{pages/login/components/Login.css => components/Login.module.css} (79%)
    rename client/{pages/login => }/components/LoginEnableAlert.js (81%)
    rename client/{pages/login/components/LoginEnableAlert.css => components/LoginEnableAlert.module.css} (55%)
    rename client/{pages/login => }/components/LoginError.js (92%)
    rename client/{pages/login/components/LoginError.css => components/LoginError.module.css} (64%)
    rename client/{pages/login => }/components/LoginFooter.js (84%)
    create mode 100644 client/components/LoginFooter.module.css
    rename client/{pages/login => }/components/LoginForm.js (72%)
    rename client/{pages/login => }/components/LoginHeader.js (73%)
    rename client/{pages/login/components/LoginHeader.css => components/LoginHeader.module.css} (89%)
    create mode 100644 client/containers/ForgotApp.js
    rename client/{pages/login => }/containers/LoginApp.js (83%)
    rename client/{pages/login => }/index.js (81%)
    delete mode 100644 client/pages/forgot/components/forgot-error/index.js
    delete mode 100644 client/pages/forgot/components/forgot-form/index.js
    delete mode 100644 client/pages/forgot/containers/forgot-home/index.js
    delete mode 100644 client/pages/forgot/index.css
    delete mode 100644 client/pages/forgot/index.js
    delete mode 100644 client/pages/login/components/LoginFooter.css
    delete mode 100644 client/pages/login/components/LoginForm.css
    delete mode 100644 client/pages/login/index.css
    rename client/pages/workspace-sources/components/{source-integration-details => legacy-source-integration-details}/index.js (100%)
    rename client/pages/workspace-sources/components/{source-integration-toggle => legacy-source-integration-toggle}/index.js (100%)
    rename client/pages/workspace-sources/components/{source-integration => legacy-source-integration}/index.js (95%)
    create mode 100644 client/pages/workspace-sources/components/source-setup-accounts-table/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-connect/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-connect/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-connected/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-connected/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-header/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-header/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-select-account/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-select-account/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-sheet/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-sheet/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-test-connection/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-test-connection/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup-warehouse-config/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup-warehouse-config/index.module.css
    create mode 100644 client/pages/workspace-sources/components/source-setup/index.js
    create mode 100644 client/pages/workspace-sources/components/source-setup/index.module.css
    create mode 100644 client/pages/workspace-sources/containers/source-setup-connect/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup-connected/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup-select-account/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup-test-connection/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup-warehouse-config/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup/index.js
    create mode 100644 client/pages/workspace-sources/containers/source-setup/index.states.js
    delete mode 100644 client/pages/workspace-warehouses/components/checkbox-tile/index.js
    create mode 100644 client/reducers/accounts-by-sourceid.js
    create mode 100644 client/reducers/accounts-by-sourceid.test.js
    create mode 100644 client/reducers/application/source-setup.js
    create mode 100644 client/reducers/application/source-setup.test.js
    create mode 100644 client/reducers/application/sources-catalog.js
    create mode 100644 client/reducers/create-source-setting-request.js
    create mode 100644 client/reducers/create-source-setting-request.test.js
    create mode 100644 client/reducers/source-settings-base-data.js
    create mode 100644 client/reducers/source-settings-validation.js
    create mode 100644 client/reducers/source-settings-validation.test.js
    create mode 100644 client/reducers/source-slug.js
    create mode 100644 client/reducers/source-slug.test.js
    create mode 100644 client/reducers/sources.test.js
    create mode 100644 client/reducers/utils/create-settings-reducer.js
    create mode 100644 client/selectors/accounts-by-sourceid.js
    create mode 100644 client/selectors/accounts-by-sourceid.test.js

    create mode 100644 client/selectors/create-source-setting-request.js
    create mode 100644 client/selectors/create-source-setting-request.test.js
    create mode 100644 client/selectors/lockouts.test.js
    create mode 100644 client/selectors/metadata.test.js
    create mode 100644 client/selectors/source-settings-base-data.js
    create mode 100644 client/selectors/source-settings-base-data.test.js
    create mode 100644 client/selectors/source-settings-validation.js
    create mode 100644 client/selectors/source-settings-validation.test.js
    create mode 100644 client/selectors/source-setup.js
    create mode 100644 client/selectors/source-setup.test.js
    create mode 100644 client/selectors/source-slug.js
    create mode 100644 client/selectors/source-slug.test.js
    delete mode 100644 client/store/preloaded-state-from-segment-global.js
    create mode 100644 client/store/preloaded-state.js
    create mode 100644 client/ui-react/Form.js
    create mode 100644 client/ui-react/Form.module.css
    create mode 100644 client/ui/billing-error/index.js
    create mode 100644 client/ui/checkbox-tile/index.js
    rename client/{pages/workspace-warehouses/components/checkbox-tile/index.css => ui/checkbox-tiMerge branch 'master' into canary
    le/index.module.css} (68%)
    create mode 100644 client/ui/pureui-component/README.md
    create mode 100644 client/ui/pureui-component/index.js
    create mode 100644 client/ui/table-sortable/index.js
    create mode 100644 server/api/accounts.js
    rename server/api/oauth/{ => providers}/adwords.js (92%)
    rename server/api/oauth/{ => providers}/facebook-ads.js (94%)
    rename server/api/oauth/{ => providers}/hubspot.js (95%)
    create mode 100644 server/api/oauth/providers/index.js
    rename server/api/oauth/{ => providers}/salesforce.js (90%)
    rename server/api/oauth/{ => providers}/stripe.js (100%)
    rename server/api/oauth/{ => providers}/twilio.js (100%)
    rename server/api/oauth/{ => providers}/zendesk.js (95%)
    create mode 100644 server/api/source-upgrades.js
    create mode 100644 server/api/utils/oauth.js
    rename server/lib/mailers/partner-portal/{templates/new.html => template.html} (63%)
    rename server/lib/mailers/partner-portal/{templates/new.txt => template.txt} (57%)
    delete mode 100644 server/lib/mailers/partner-portal/templates/existing.html
    delete mode 100644 server/lib/mailers/partner-portal/templates/existing.txt
    delete mode 100644 server/ui/pages/forgot/index.js
    delete mode 100644 server/ui/pages/forgot/template.hbs
    rename server/ui/pages/{login => spa}/index.js (87%)
    rename server/ui/pages/{login => spa}/template.hbs (100%)
    create mode 100644 test/server/api/accounts.js
    create mode 100644 test/server/api/oauth.js
    create mode 100644 test/server/api/source-upgrades.js
    create mode 100644 test/server/api/utils/mocks.js
    Incrementing version number in 'package.json'...
    ... releasing 3.139.0
    [master 1e301fc] Release 3.139.0
    2 files changed, 63 insertions(+), 1 deletion(-)
    Counting objects: 4, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (4/4), done.
    Writing objects: 100% (4/4), 801 bytes | 0 bytes/s, done.
    Total 4 (delta 3), reused 0 (delta 0)
    remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
    To ssh://[email protected]/segmentio/app.git
    a544e61..1e301fc master -> master
    Counting objects: 1, done.
    Writing objects: 100% (1/1), 168 bytes | 0 bytes/s, done.
    Total 1 (delta 0), reused 0 (delta 0)
    To ssh://[email protected]/segmentio/app.git
    * [new tag] 3.139.0 -> 3.139.0
    ... complete
    Switched to branch 'canary'
    Your branch is up-to-date with 'origin/canary'.
    Merge made by the 'recursive' strategy.
    History.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    package.json | 2 +-
    2 files changed, 63 insertions(+), 1 deletion(-)
    Counting objects: 2, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 320 bytes | 0 bytes/s, done.
    Total 2 (delta 1), reused 0 (delta 0)

    remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
    To ssh://[email protected]/segmentio/app.git
    19cf54f..132acf8 canary -> canary
    ➜ app git:(canary) scripts/deploy.shConnection to github.com closed by remote host.
    ➜ app git:(canary) git pull origin canary
    From ssh://github.com/segmentio/app
    * branch canary -> FETCH_HEAD
    Already up-to-date.
    ➜ app git:(canary) git checkout master
    Switched to branch 'master'
    Your branch is up-to-date with 'origin/master'.
    ➜ app git:(master) git pull origin master
    From ssh://github.com/segmentio/app
    * branch master -> FETCH_HEAD
    Already up-to-date.
    ➜ app git:(master) git cherry-pick
    usage: git cherry-pick [<options>] <commit-ish>...
    or: git cherry-pick <subcommand>

    --quit end revert or cherry-pick sequence
    --continue resume revert or cherry-pick sequence
    --abort cancel revert or cherry-pick sequence
    -n, --no-commit don't automatically commit
    Merge branch 'master' into canary
    -e, --edit edit the commit message
    -s, --signoff add Signed-off-by:
    -m, --mainline <n> parent number
    --rerere-autoupdate update the index with reused conflict resolution if possible
    --strategy <strategy>
    merge strategy
    -X, --strategy-option <option>
    option for merge strategy
    -S, --gpg-sign[=<key-id>]
    GPG sign commit
    -x append commit name
    --ff allow fast-forward
    --allow-empty preserve initially empty commits
    --allow-empty-message
    allow commits with empty messages
    --keep-redundant-commits
    keep redundant, empty commits

    ➜ app git:(master) git cherry-pick 19cf54ffb90ac8ef096d8ff485754a77478d5e69
    [master c68396d] billing: fix findCharge assertion on billing (#2912)
    Author: Fouad Matin <[email protected]>
    Date: Thu Dec 22 12:32:31 2016 -0800
    1 file changed, 2 insertions(+), 2 deletions(-)
    ➜ app git:(master) git changelog --tag 1.139.1
    ➜ app git:(master) ✗ atom package.json
    ➜ app git:(master) ✗ git release 1.139.1
    ... releasing 1.139.1
    [master a9d53b9] Release 1.139.1
    2 files changed, 6 insertions(+), 1 deletion(-)
    Counting objects: 9, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (9/9), done.
    Writing objects: 100% (9/9), 959 bytes | 0 bytes/s, done.
    Total 9 (delta 7), reused 0 (delta 0)
    remote: Resolving deltas: 100% (7/7), completed with 6 local objects.
    To ssh://[email protected]/segmentio/app.git
    1e301fc..a9d53b9 master -> master
    Counting objects: 1, done.
    Writing objects: 100% (1/1), 168 bytes | 0 bytes/s, done.
    Total 1 (delta 0), reused 0 (delta 0)
    To ssh://[email protected]/segmentio/app.git
    * [new tag] 1.139.1 -> 1.139.1
    ... complete
    ➜ app git:(master) git checkout canary
    Switched to branch 'canary'
    Your branch is up-to-date with 'origin/canary'.
    ➜ app git:(canary) git merge master
    Merge made by the 'recursive' strategy.
    History.md | 5 +++++
    package.json | 2 +-
    2 files changed, 6 insertions(+), 1 deletion(-)
    ➜ app git:(canary) git push origin canary
    Counting objects: 2, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (2/2), 323 bytes | 0 bytes/s, done.
    Total 2 (delta 1), reused 0 (delta 0)
    remote: Resolving deltas: 100% (1/1), completed with 1 local objects.
    To ssh://[email protected]/segmentio/app.git
    132acf8..34f8eb9 canary -> canary
    ➜ app git:(canary)