Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Helpful links:


Selecting an issue:

  • Assign yourself to an issue in github from any of the issues on the project board that are in the Ready column.
  • Feel free to work alone or with another developer.
  • There is overlap between the issues especially when modifying routes and controllers.
  • Slack - collection_extensions is the primary communication channel to get help, discuss issues, coordinate overlaps, request review of a PR


Development:

  • clone latest hyrax
  • checkout branch: collections-sprint
  • create a new branch from collections-sprint branch
  • implement in your new branch


PR

  • when code and tests are ready, commit your branch
  • rebase your branch against collections-sprint
  • create a PR with base: collections-sprint branch
  • request review on slack


Rebasing

NOTE: Because master changes so frequently, I will regularly rebase the collections-sprint branch against master to make our final merge process easier.  I will send a note out to slack before doing the rebase to avoid any conflicts for PR merging process.

What does that mean for your code?

  • I will send a note when I am going to rebase.  If you are close on a PR, I can wait for it to be merged.
  • Once the rebase happens, you will need to perform the following on your branch.
    • Run the following commands substituting...
      • YOUR-BRANCH-NAME with the name of your development branch
      • "an identifying message for saving any non-committed changes for your branch" as makes sense for your changes.  The message itself is not important.  I often use a marker like "BEFORE_REBASE", which is something that is easy to spot in the listing of stashes.
      • for `git stash apply`, substitute {0} with the actual index of the stash as shown by `git stash list`
    • NOTE: The stash list show below may be different from what you see if you have multiple stashes saved

      Code Block
      ### I GENERALLY MAKE A BACKUP COPY OF THE ENTIRE hyrax DIRECTORY BEFORE DOING A REBASE ###
      $ git checkout YOUR-BRANCH-NAME
      $ cp -R ../hyrax ../hyrax_BEFORE_REBASE
      $ git status
      $ git stash save "an identifying message for saving any non-committed changes for your branch"
      $ git stash list
      stash@{0}: On YOUR-BRANCH-NAME: an identifying message for saving any non-committed changes for your branch
      $ git checkout collections-sprint
      $ git pull origin collections-sprint
      $ git checkout YOUR-BRANCH-NAME
      $ git rebase collections-sprint
      $ git stash list
      stash@{0}: On YOUR-BRANCH-NAME: an identifying message for saving any non-committed changes for your branch
      $ git stash pop stash@{0}
      $ git status

      The status you see before rebasing and after should be the same.

References: