Skip to content

Working with Upstream

Ryan Govostes edited this page Apr 20, 2020 · 5 revisions

The repository mirrors upstream changes from OceanDataTools/sealog-server, the official Sealog repository. All upstream branches and tags are given the upstream/ prefix.

Upstream maintainers can add this repository as a remote to pull changes:

$ git remote add ndsf https://github.com/WHOIGit/ndsf-sealog-server.git
$ git fetch ndsf
$ git branch -a --list 'ndsf/*'  
  remotes/ndsf/master
  remotes/ndsf/upstream/master
  remotes/ndsf/upstream/node-v12

Minimizing Conflicts and Divergence

It is the goal of the NDSF maintainers to minimize the need to make changes that cause significant divergence from the upstream project.

We expect to merge most upstream changes when we can, but even a small divergence in our fork will require conflict resolution and manual testing, which draws engineering resources away from other tasks. Therefore, our Roadmap prioritizes work that expands automated testing and adds extension points for NDSF customizations.

Maintainers of other Sealog forks are encouraged to watch this repository and pull in changes that benefit their users. Some instructions are included below.

Workflow

Cherry-picking commits

The simplest way of copying a specific commit to another branch, whether from upstream to this fork or from this fork to upstream, is to simply cherry-pick it:

$ git checkout <branch to add commit>
$ git cherry-pick d7d25f7

Commits between branches

To see the commits that have happened upstream:

$ git log origin/master..origin/upstream/master
commit 5c7372fdf0dff97f3579c70b7da6d35db66a8c26 (tag: upstream/1.0.14-rc, origin/upstream/master)
Author: Webb Pinner <[email protected]>
Date:   Mon Apr 20 12:36:13 2020 -0400

    Incremented version #

commit c32a62e4ca71b830da7a54f9f8fbfa0edec688cb
Author: Webb Pinner <[email protected]>
Date:   Mon Apr 20 12:35:11 2020 -0400

    Added missing DB index declarations

Note that these are listed in reverse order and should be cherry-picked from bottom up.

Master branch

TBD.

Development branches

TBD.

Tagging

TBD.