-
Notifications
You must be signed in to change notification settings - Fork 0
Hyku Branches
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.
- Let's say I'm working on a project called
foo
. - I'm a member of SoftServ.
- 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)
- 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)
- 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.
- 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 mergefix_homepage_bug
anduser_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.
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.