Skip to content

Hyku Branches

Rob Kaufman edited this page Jun 27, 2023 · 1 revision

When fixing a bug or adding a feature that is generally applicable the following strategy is useful:

In the hyrax-webapp directory, make a branch for that feature. Then push that branch to the Hyku repo and make a PR for it. Don't stress if that PR isn't merged right away, feel free to continue working knowing your branch is available to your specific version of the knapsack until such time as the new feature gets merged in and a new Hyku release is cut.

It is not uncommon for there to be a special branch in the main Hyku repo that applies only to your version of Hyku. If your organization is called Acme, that might be called acme or acme-somename. This happens because you might have several bug fixes and features that are in the PR state but need a place to merge all of them together while waiting for PR review and a release to come out. Do not be afraid to put branches up in the samvera/hyku repo. The maintainers there will check in with any institution before deleting a branch if the institutions name is part of the branch.

Detailed Example:

  1. Let's say I'm working on a project called foo.
  2. I'm a member of SoftServ.
  3. I find a bug in the home page (we'll call it homepage bug)
  • We might make a branch called fix_homepage_bug and push that to Hyku.
  • We'll get a PR number for it (#13)
  1. I want to add a feature for the user admin (called user admin feature).
  • We might make a branch called user_admin_feature and push that to Hyku.
  • We'll get a PR number for it (#14)
  1. I also have a special feature called our SSO.
  • We add the SSO code to our knapsack as overrides because it is not generally applicable.
  1. Now what we need is a branch that has both #13 and #14 merged in so we can deploy and move on with our dev cycle while review and discussion is happening around #13 and #14.
  • We make a new Hyku branch called softserv_foo_features and merge fix_homepage_bug and user_admin_feature in to it.
  • Our knapsack can be deployed pointing the Hyku submodule to the softserv_foo_features branch.

That way we have one deployable module that has all 3 items (homepage bug, user admin feature and our SSO) all in it no matter what happens with the two PRs we opened.

Later

Down the road, PRs #13 and #14 get merged along with other bug fixes and features and put out as a release of Hyku (v13.0.0). We now no longer need our softserv_foo_features branch. So we change the submodule in our knapsack to point to Hyku v13.0.0 and delete our softserv_foo_features branch, knowing we can recreate it in the future if other features or bug fixes are needed.

Clone this wiki locally